我在Debian上使用PostgreSQL。 在我编辑配置文件后,PostgreSQL服务无法启动:
#data_directory = '/var/lib/postgresql/9.4/main' # use data in another directory
data_directory = '/opt/data/postgresql/data'
(是的,我只是使用自定义目录而不是默认的data_directory)
我在/var/log/syslog
中找到了日志。
Sep 14 10:22:17 thinkserver-ckd postgresql@9.4-main[11324]: Error: could not exec /usr/lib/postgresql/9.4/bin/pg_ctl /usr/lib/postgresql/9.4/bin/pg_ctl start -D /opt/data/postgresql/data -l /var/log/postgresql/postgresql-9.4-main.log -s -o -c config_file="/etc/postgresql/9.4/main/postgresql.conf" :
Sep 14 10:22:17 thinkserver-ckd systemd[1]: postgresql@9.4-main.service: control process exited, code=exited status=1
Sep 14 10:22:17 thinkserver-ckd systemd[1]: Failed to start PostgreSQL Cluster 9.4-main.
Sep 14 10:22:17 thinkserver-ckd systemd[1]: Unit postgresql@9.4-main.service entered failed state.
/var/log/postgresql/postgresql-9.4-main.log
中没有任何内容。
谢谢。
我最终得到了这个答案:
@langton的回答是:
你应该运行pg_upgradecluster或类似命令,或者只需使用pg_createcluster创建新群集(这些命令适用于Debian系统 - 您没有指定您的OS)。
所以我执行了以下命令:
pg_createcluster -d /opt/data/postgresql/data -l /opt/data/postgresql/log 9.4 ckd
然后是:
service postgresql restart
它启动了!