postgresql 服务无法启动,日志中报如下错误
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
即可。