Странные ошибки прав доступа в новой установке 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 не очень полезны.
Обновить:
Я получил ту же ошибку, когда каталог данных существовал, но с неправильным владельцем.