我在 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 系统 - 您没有指定您的操作系统)
所以我执行了命令:
pg_createcluster -d /opt/data/postgresql/data -l /opt/data/postgresql/log 9.4 ckd
接着 :
service postgresql restart
它开始了!