postgresql无法正常启动的原因追查

postgresql无法正常启动的原因追查,第1张

仔细分析,无非几个原因: 1、log目录的权限问题,比如log文件指定的目录postgres用户无权写入,因此没有产生任何log文件。检查了/var/lib/postgresql/11/main的目录,没有发现问题。 2、配置文件的权限问题,检查了/etc/postgresql/11/main目录,也没有发现任何问题,postgres用户是有权限读取配置文件的。 3、配置文件有错误导致无法正常启动postgresql。排除了上面的两个原因,这个应该是最大的原因了。但是,错误在哪里呢?没有给出提示啊!  尝试了service postgresql start, pg_ctrcluster, pg_ctl均无法给出任何提示,后来才想明白,这几个都是对postmaster的脚本封装啊,也许这些封装忽略了什么重要的信息!应该直接运行postmaster才能得到直接的出错提示的!果然,执行/usr/lib/postgresql/11/bin/下的postmaster给出了提示,执行语句:  看到这里立刻明白了:我将postgresql.conf中的lc_messages改为了 en_US.UTF-8,可是没有产生en_US.UTF-8的locale文件啊!于是修改/etc/locales.gen文件添加en_US.UTF-8,执行locales.gen,再次启动postgresql,成功!

1、看看服务里的 Postgres 服务的用户名、密码,必须用 postres 用户启动的。

2、鉴于重启后就启动不了,是不是服务设置手动,或者是安装了影子系统

3、会不会是安装的时候,上一次的安装没有卸载干净?

4、手动启动服务试试看,看看系统日志有没有相应内容分。

5、到 c:\program files下的安装目录(假设是windows)看看log 文件夹里的日志

6、进入cmd, netstat -na ,看看开了多少端口,很多病毒会强占许多端口,包括5432端口,如果5432被占用,肯定不行。netstat -navbo 会查看是哪个进程

7、安装的时候,locale 是不是选择了默认一路Next, 卸载,用locale = 'C'试试看!

1、看看服务里的 Postgres 服务的用户名、密码,必须用 postres 用户启动的。

2、鉴于重启后就启动不了,是不是服务设置手动,或者是安装了影子系统

3、会不会是安装的时候,上一次的安装没有卸载干净?

4、手动启动服务试试看,看看系统日志有没有相应内容分。

5、到 c:\program files下的安装目录(假设是windows)看看log 文件夹里的日志

6、进入cmd, netstat -na ,看看开了多少端口,很多病毒会强占许多端口,包括5432端口,如果5432被占用,肯定不行。netstat -navbo 会查看是哪个进程

7、安装的时候,locale 是不是选择了默认一路Next, 卸载,用locale = 'C'试试看!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/569292.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-03
下一篇2023-07-03

发表评论

登录后才能评论

评论列表(0条)

    保存