Configuration
如何在 Fedora 上正確執行 PostgreSQL
我決定在我的 Fedora 20 上執行 PostgreSQL,所以我做了
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
它也不起作用,因為如果權限不正確(目錄歸根使用者所有)。所以我真的不確定我應該做什麼,我做錯了什麼嗎?因為其中的所有
/var/lib/
內容都歸 root 所有,並且它是 Fedora 中配置的預設位置(至少對於 postgres 而言),所以在我看來真的搞砸了。
閱讀
/usr/share/doc/postgresql/README.rpm-dist
,它涵蓋了設置。特別是,它告訴您要創建數據目錄,您必須執行:postgresql-setup initdb
如果您使用的是來自http://yum.postgresql.org/的 PGDG RPM,而不是 Red Hat 的那些,那就是:
/usr/pgsql-9.3/bin/postgresql93-setup initdb
我目前正在尋找改進官方 PostgreSQL 文件的方法,以使從 Fedora 的 RPM 或 Ubuntu 軟體包等常見軟體包安裝 PostgreSQL 的人更容易。它目前過於關注源安裝。