1、postgresql 服務無法啟動,日志中報如下錯誤,磁盤空間足夠。
無法找到來自源 PostgreSQL 的事件 ID 0 的描述。本地計算機上未安裝引發此事件的組件,或者安裝已損壞。可以安裝或修復本地計算機上的組件。
1、使用pg_controldata 查找 nextoID 和 nextXID
2、重置事物日志
pg_resetxlog -o nextOID -x NextXID -f pgdata的目錄
重啟數據庫即可啟動 ,優麒麟重啟數據庫: service postgresql restart
C:\ParkServer\pgsql\bin>pg_controldata.exe –help pg_controldata 顯示 PostgreSQL 數據庫簇控制信息.
使用方法:
選項: [-D] DATADIR 數據目錄 -V, –version 輸出版本信息,然后退出
-
?, –help 顯示幫助信息,然后退出
如果沒有指定數據目錄(DATADIR), 將使用 環境變量PGDATA.
報告錯誤至 pgsql-bugs@postgresql.org.
C:\ParkServer\pgsql\bin>pg_controldata.exe -D c:\ParkServer\pgsql\data
備注:
cd /usr/lib/postgresql/9.5/bin 下有pg_controldata pg_resetxlog
locate pg_controldata 可以全系統搜索
sudo su postgres , 才能訪問 /var/lib/postgresql/9.5/main
/etc/postgresql/9.5/main 下查看postgresql.conf 文件data目錄
cd /var/log/postgresql 可以查看數據庫的日志
tail -f /var/log/syslog
Insecure directory in $ENV{PATH} while running with -T switch at /usr/bin/pg_ctlcluster line 463.
echo $PATH
查看所有路徑的權限,權限太大的,都要改小
chmod 755 /usr
chmod 755 /bin
chmod 755 /sbin
chmod 755 /snap
sudo service postgresql start
即可。