我正在使用 Vagrant 和 Chef Solo 来设置 Lucid 64 盒子。
我正在使用 Chef 配方从 Martin Pitt 的反向移植中安装 PostgreSQL 9.1。
安装一切顺利,直到数据库启动时
/etc/init.d/postgresql start
日志暂停并且命令失败。
如果我手动运行 pg_ctl,数据库就会启动!
我的 postgresql-9.1-main 日志文件的全部内容是:
2012-05-07 11:01:18 PDT LOG: database system was shut down at 2012-05-07 11:01:16 PDT
2012-05-07 11:01:18 PDT LOG: database system is ready to accept connections
2012-05-07 11:01:18 PDT LOG: autovacuum launcher started
2012-05-07 11:01:18 PDT LOG: incomplete startup packet
2012-05-07 11:01:26 PDT LOG: received fast shutdown request
2012-05-07 11:01:26 PDT LOG: aborting any active transactions
2012-05-07 11:01:26 PDT LOG: autovacuum launcher shutting down
2012-05-07 11:01:26 PDT LOG: shutting down
2012-05-07 11:01:26 PDT LOG: database system is shut down
我试图更改 postgresql 配置文件以便将更多信息放入日志文件,但这根本不起作用。
我该如何调试它来找出问题所在以便修复它?
答案1
我想先说以下几点:
- 确保 postgresql 尚未运行
- 检查权限
/var/lib/postgresql/9.1/main
但是我建议使用 启动 postgresql pg_ctlcluster
。此脚本由 init 脚本调用,是一个包装器,pg_ctl
除其他功能外,它还会执行多项健全性检查。如果这些检查失败,它们将阻止 postgresql 启动。
pg_ctlcluster 9.1 main start