2014-12-30 38 views
1

對於長篇文章,我表示歉意。我有一臺運行在亞馬遜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命令創建的文件。

+0

您應該在更改配置文件後運行initdb。 – Zeki

+0

http://www.linuxquestions.org/questions/linux-server-73/change-postgresql-data-directory-649911/ – BMW

+1

@BMW謝謝。有用。 – drunkenfist

回答