對於長篇文章,我表示歉意。我有一臺運行在亞馬遜Linux AMI上的Postgresql 9.3服務器。我也有一個使用pg_dumpall創建的另一臺服務器的壓縮轉儲文件。現在,我想從我的Postgres中的這個轉儲文件恢復數據。但是,我想將這些數據加載到特定的位置(比如/ data)。在Amazon ec2上更改postgresql 9.3數據庫位置linux
我正在重新安裝Postgres。所以,當我試圖做一個:
sudo service postgresql93 start
我得到了一個錯誤信息,要求我初始化數據庫。所以我做了一個:
sudo service postgresql initdb
其中創建/var/lib/pgsql93/data
所需的文件。之後,我更改了/var/lib/pgsql93/data/postgresql.conf
中的'data_directory'配置,並將其指向/ data(我必須以root用戶的身份執行此操作,但無法將該文件作爲默認用戶打開)。
現在,當我嘗試做一個
sudo service postgresql93 start
它未能啓動,而當我檢查/var/lib/pgsql93/pg_startup.log文件,它說:
FATAL: "/data/postgresql" is not a valid data directory
DETAIL: File "/data/postgresql/PG_VERSION" is missing.
因此,我將文件從默認(/var/lib/pgsql9.3/data)複製到/ data,將權限更改爲700,將所有者更改爲postgres。
然而,當我嘗試重新啓動該服務,但它仍然失敗,並在pgstartup.log,它只是說:
LOG: redirecting log output to logging collector process
HINT: Future log output will appear in directory "pg_log".
當我檢查日誌/數據/ pg_log,它說:
LOG: database system was shut down at 2014-12-30 21:31:18 UTC
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
還有什麼問題呢?我還沒有恢復數據。我只有由initdb命令創建的文件。
您應該在更改配置文件後運行initdb。 – Zeki
http://www.linuxquestions.org/questions/linux-server-73/change-postgresql-data-directory-649911/ – BMW
@BMW謝謝。有用。 – drunkenfist