postgresql 服务无法启动,日志中报如下错误

1、postgresql 服务无法启动,日志中报如下错误,磁盘空间足够。

无法找到来自源 PostgreSQL 的事件 ID 0 的描述。本地计算机上未安装引发此事件的组件,或者安装已损坏。可以安装或修复本地计算机上的组件。

1、使用pg_controldata 查找 nextoID 和 nextXID

2、重置事物日志

pg_resetxlog -o nextOID -x NextXID -f pgdata的目录

重启数据库即可启动 ,优麒麟重启数据库: service postgresql restart

C:ParkServerpgsqlin>pg_controldata.exe –help pg_controldata 显示 PostgreSQL 数据库簇控制信息.

使用方法:


选项: [-D] DATADIR 数据目录 -V, –version 输出版本信息,然后退出

  1. ?, –help 显示帮助信息,然后退出

如果没有指定数据目录(DATADIR), 将使用 环境变量PGDATA.

报告错误至 pgsql-bugs@postgresql.org.

C:ParkServerpgsqlin>pg_controldata.exe -D c:ParkServerpgsqldata

备注:

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

即可。

原文地址:https://www.cnblogs.com/liuyanerfly/p/11551492.html