2016-08-17 44 views
2

我有一個Web應用程序查詢Postgresql數據庫(成功),我正在尋找將數據文件夾從位置/var/lib/postgres/9.3/main移動到可自定義的位置。在Ubuntu上移動postgres數據文件夾

現在我因爲權限錯誤而無法複製該文件夾,但我無法爲自己分配權限,因爲這會打破postgres服務器。

(我打破了運行sudo chown <username> -R /var/lib/postgres/9.3/main服務器 - 這是一名命令,而是從工作停止Postgres的服務器)

我想簡單地創建一個新的文件夾,並改變位置,但我會失去當前我的數據庫實例如果完成了。

如何將當前文件夾移動到新位置,以便我可以在.conf文件中指向它?我需要明確移動文件夾,我無法創建新的數據庫。

+0

爲什麼你需要搬家呢?最有可能的移動數據dir是一個錯誤的回答你的問題 – frlan

+0

@frlan我的web應用程序是從一臺linux虛擬機運行,我通過IP從Windows機器查詢它,我希望能夠將數據放到Windows機器上的一個共享文件夾中,並且有一個虛擬機(VM),而不是而不是隻有一個300GB的Linux實例是一個Web服務器。 –

+0

@frlan相信我我知道移動數據是錯誤的方式,但需要數週才能將數據轉換爲當前狀態,我無法重新啓動該過程。 –

回答

0
  • 你可以複製或移動的目錄,包括所有的子目錄和文件 cp -rpmv應該夠了這一點。
  • 的Postgres必須沒有運行,而你是用文件
  • 的數據drectory(PG_DATA)的基礎搞亂必須歸的Postgres,並有文件模式0700。 (當不:PG將拒絕啓動)
  • [該文件的其餘部分必須至少是可讀由postgres的/ writeble]
  • 新的位置也必須是已知的啓動過程(在/etc/init.d/和(可能)在數據目錄中的文件postgres.conf(日誌文件位置)