PostgreSQL:Problem running post-install step. The database cluster initialisation failed. 解决方法。
安裝PG時報上述錯誤。
網上搜索出許多解決方案比較常見的有:字符集,用戶權限,等等。均已排除,而且因為很容易搜到,所以不再贅述。我遇到的問題,最先發現的解決方法是:只要使用缺省的程序目錄和數據目錄就一切OK。
但是由于磁盤分配的需要,以及數據庫和應用程序分離的需要,往往需要自定義數據目錄。
方法思路為先在缺省路徑中完成軟件安裝,然后再遷移數據目錄。步驟如下:
創建新的數據目錄,修改所屬用戶和組,修改權限
sudo mkdir /home/data
sudo chown -R postgres:postgres data
sudo chmod 700 data
停止正在運行的PG服務
su (切換到超戶)
su - postgres (切換到postgres用戶)
pg_ctl stop (停止PG服務)
重新初始化數據庫,并指定新目錄作為數據目錄
./initdb –encoding=UTF-8 –local=zh_CN.UTF8 –username=postgres –pwprompt –pgdata=/home/data/
修改/etc/profile文件中的PGDATA環境變量
PG_HOME=/opt/PostgreSQL/9.5
PGDATA=/home/data
PATH=PGHOME/bin:PATH
PGLIB=$PG_HOME/lib
export PG_HOME PGDATA PATH PGLIB
修改數據庫配置文件
修改postgresql.conf文件, data_directory = ‘/home/data’
刪除原有數據目錄,重新啟動PG服務程序
rm -rf /opt/PostgreSQL/data
pg_ctl restart
登錄到psql中查看數據目錄
show data_directory;
(windows中相對簡單)
1. 停止PG服務。
2. 修改注冊表。
對應鍵值位置在”HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-9.1\ImagePath”,將“-D”后的目錄名修改為新的數據目錄位置即可,如果目錄路徑中含有空格,需要用引號引起。
3. 重啟PG服務。
【附】刪除PG重新安裝的步驟:
1. 卸載軟件:在$PG_HOME安裝目錄中執行uninstall-postgresql
2. 刪除安裝記錄(否則重新安裝,圖形化界面會告訴你“An existing installation has been found…”,只能upgrade,不能覆蓋安裝。):rm -f /etc/postgres-reg.ini
3. 刪除安裝時自動創建的postgres用戶:userdel postgres
總結
以上是生活随笔為你收集整理的PostgreSQL:Problem running post-install step. The database cluster initialisation failed. 解决方法。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019全球智能手机Q2出货量 仅仅出
- 下一篇: PG数据向Kingbase移植