Странные ошибки прав доступа в новой установке PostgreSQL

Недавно установленный PostgreSQL (с перезаписанной конфигурацией) не запустится:

$ 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

Но хорошо, я добавлю chmod +r это проверить, если это работает.

$ 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

Я не понимаю Что здесь может быть не так? Это раньше работало.

Могу ли я контролировать, какой процесс пытается открыть файл?


Это Ubuntu 11.10 на EC2 с использованием Chef. Для полноты вот рецепт:

# 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

1 ответ

Пользовательский файл конфигурации (postgresql.conf) указывает на каталог данных, который не существует. Конечно, это проблема (которую я решил, настроив каталог данных), но она не имеет ничего общего с напечатанной ошибкой. Еще раз, ошибки PostgreSQL не очень полезны.

Обновить:

Я получил ту же ошибку, когда каталог данных существовал, но с неправильным владельцем.

Другие вопросы по тегам