新安装的PostgreSQL(覆盖configuration)不会启动:
$ sudo service postgresql start * Starting PostgreSQL 9.1 database server * Error: could not read /etc/postgresql/9.1/main/postgresql.conf: Permission denied
看起来应该可以阅读它:
$ ls -l postgresql.conf -rw------- 1 postgres postgres 19450 2012-06-14 10:07 postgresql.conf
但很好,我会joinchmod +r来testing它是否有效。
$ sudo chmod +r postgresql.conf $ sudo service postgresql start * Starting PostgreSQL 9.1 database server * The PostgreSQL server failed to start. Please check the log output: Error: Could not open log file /var/log/postgresql/postgresql-9.1-main.log
咦?
$ ls -l /var/log/postgresql/ total 4 -rw-r----- 1 postgres adm 827 2012-06-14 10:07 postgresql-9.1-main.log
我不明白。 这里有什么可能是错的? 这曾经工作过。
我可以监视什么进程试图打开文件?
这是EC2上的Ubuntu 11.10,使用厨师。 为了完整性,这里是配方:
# Install PostgreSQL package "postgresql-9.1" # Stop server service "postgresql" do action :stop end # Overwrite configuration (setting data dir) template "/etc/postgresql/9.1/main/postgresql.conf" do source "postgresql-conf.erb" owner "postgres" group "postgres" end # Start server service "postgresql" do action :start end
自定义configuration文件( postgresql.conf )指向一个不存在的数据目录。 当然,这是一个问题(我通过设置数据目录解决了这个问题),但是与打印的错误无关。 再次,PostgreSQL错误没有那么有用。
更新:
当数据目录存在时,我得到了同样的错误, 但拥有不正确的所有权 。