在 Ubuntu 18 上移動 Postgres 10 數據目錄
我正在嘗試將初始 Postgres 數據目錄從
/var/lib/postgresql/10/main
到另一個硬碟。硬碟驅動器可通過終端在終端內訪問
/media/chris/Datenspeicher
我使用本指南來切換我的數據目錄。修改文件後 Postgres 正在啟動,
postgres.conf
但我無法再通過 pgadmin 或終端訪問數據庫。當嘗試訪問數據庫時,它會詢問數據庫是否在埠 5432 上執行並接受連接。
為什麼?我究竟做錯了什麼?
更新: 全新安裝 ubuntu 和 postgres 後,所有錯誤仍然存在。postgres 日誌輸出為:
2018-07-06 14:16:04.958 CEST
$$ 5664 $$LOG:監聽 IPv4 地址“127.0.0.1”,埠 5432 2018-07-06 14:16:04.998 CEST
$$ 5664 $$日誌:監聽 Unix 套接字“/var/run/postgresql/.s.PGSQL.5432” 2018-07-06 14:16:05.124 CEST
$$ 5665 $$LOG:數據庫系統於 2018-07-06 14:00:21 CEST 關閉 2018-07-06 14:16:05.167 CEST
$$ 5664 $$LOG:數據庫系統已準備好接受連接 2018-07-06 14:16:05.714 CEST
$$ 5672 $$ $$ unknown $$@$$ unknown $$LOG:不完整的啟動包
在乾淨的 ubuntu 安裝(清理所有分區)之後,自動安裝我的第二個驅動器並使用這裡的答案一切正常!
- 通過以下方式安裝了 postgresql-common:
sudo apt install postgresql-common
2. 用 nano 打開 createcluster.conf
sudo nano /etc/postgresql-common/createcluster.conf
3. 取消註釋行create_main_cluster = true
4. 換data_directory = '/var/lib/postgresql/%v/%c'
行new/dir/%v/%c
5. 保存存檔 6. 通過安裝 postgresqlsudo apt install -y postgresql-10
請檢查套接字文件是否在 /tmp 中。如果存在,則創建指向 /var/run 的連結。
或者,我更喜歡這種方法來移動 Ubuntu 上的數據目錄。
我希望你有舊目錄的備份副本,它位於
/var/lib/postgresql/10/main
.service postgresql stop rm -rf /media/chris/Datenspeicher/* chown -R postgres:postgres /media/chris/Datenspeicher/ chmod 700 /media/chris/Datenspeicher /usr/lib/postgresql/10/bin/initdb -D /media/chris/Datenspeicher rm -rf /media/chris/Datenspeicher/* sudo rsync -av /var/lib/postgresql/10/main/* /media/chris/Datenspeicher in postgresql.conf file, data_directory = '/media/chris/Datenspeicher' service postgresql start