这个错误在 PostgreSQL 中意味着什么?

这个错误在 PostgreSQL 中意味着什么?
ExecStart=/usr/pgsql-9.4/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=1/FAILURE)

更改后出现此错误

/var/lib/pgsql/9.4/data/postgresql.conf or pg_hba.conf

即使我返回原始的 conf 文件,错误仍然存​​在。

问题:1) 这个错误是什么意思?2) 我该如何解决它?

我尝试了论坛中描述的所有方法,但没有任何效果

完整错误:

systemctl status postgresql-9.4.service -l
postgresql-9.4.service - PostgreSQL 9.4 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.4.service; enabled)
Active: failed (Result: exit-code) since Mon 2014-12-22 11:53:14 EST; 6s ago
Process: 1934 ExecStart=/usr/pgsql-9.4/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=1/FAILURE)
Process: 1929 ExecStartPre=/usr/pgsql-9.4/bin/postgresql94-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)

答案1

我在从 9.3 升级到 9.4 时遇到了这个问题 - 我选择删除旧的 9.3 主集群,但当时没有创建新集群。这导致主 postgres 进程无法启动。

Postgres 发行说明说转储/恢复是必要的,因此根据您的系统,您应该运行pg_upgradecluster或类似操作,或者只是创建一个新的集群pg_createcluster(这些命令适用于 debian 系统 - 您没有指定您的操作系统)。

答案2

更改 pg_hba.conf 后,我遇到了同样的错误。幸运的是,答案在 /var/lib/pgsql/9.4/data/pg_log 目录中。

就我而言,我犯了上下文错误(我补充道):

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all     127.0.0.1/32    trust

该行应该看起来像这样:

host    all all 127.0.0.1/32    trust

相关内容