Назад | Перейти на главную страницу

Как правильно запустить PostgreSQL в Fedora

Я решил запустить PostgreSQL на своей Fedora 20, поэтому я

sudo yum install postgresql-server.x86_64 postgresql-libs.x86_64 postgresql.x86_64

Теперь, если я сделаю postgres -D /var/lib/pgsql/data под обычным пользователем получаю Permission denied for "/var/lib/pgsql/data/postgresql.conf", если я попробую под root, я получу ошибку о том, что мне не следует запускать postgres под привилегированным пользователем.

Я понимаю эти две ошибки, но теперь становится странно - sudo -u postgres postgres -D /var/lib/pgsql/data дает мне ошибку, я не хватает postgresql.conf - если я создаю его под root (потому что root владеет каталогом), он снова жалуется на разрешения во время запуска. Если я попытаюсь бежать initdb -D /var/lib/pgsql/data это тоже не работает, потому что если права неправильные (dir принадлежит root).

Так что я действительно не уверен, что мне делать, что я сделал неправильно? Потому что все в /var/lib/ принадлежит root, и это место по умолчанию для конфигурации в Fedora (по крайней мере, для postgres), поэтому мне кажется, что это действительно испортилось.

Читать /usr/share/doc/postgresql/README.rpm-dist, это касается настройки. В частности, он сообщает вам, что для создания каталога данных вы должны запустить:

postgresql-setup initdb

Если вы использовали RPM PGDG от http://yum.postgresql.org/ вместо стандартных Red Hat это будет:

/usr/pgsql-9.3/bin/postgresql93-setup initdb

В настоящее время я ищу способы улучшить официальную документацию PostgreSQL, чтобы упростить жизнь людям, которые установили PostgreSQL из обычных пакетов, таких как RPM Fedora или пакеты Ubuntu. В настоящее время он слишком сосредоточен на исходных установках.