昨天我已经安装了postgresql并完成了所有设置并创建了数据库和表,但今天早上突然出现了这个错误
我也卸载并安装了postgresql,但仍然出现相同的错误。此外,我还观察到,当新安装时,它可以正常工作,但一旦我关闭或重新启动我的系统,我就会得到以下错误。
psql:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?我已经尝试了所有媒介中给出的所有解决方案,但我无法解决这个问题,所以我再次将这个问题与我的输出一起发布。
postgresql的状态
**sudo /etc/init.d/postgresql status**
postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Wed 2019-10-30 11:40:39 IST; 5min ago
Process: 7666 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 7666 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
CGroup: /system.slice/postgresql.service当我运行pg_lsclusters时
**pg_lsclusters**
Ver Cluster Port Status Owner Data directory Log file
11 main 5432 down postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
**dpkg -l | grep postgres**
ii pgdg-keyring 2018.2 all keyring for apt.postgresql.org
ii postgresql 11+207.pgdg16.04+1 all object-relational SQL database (supported version)
ii postgresql-11 11.5-3.pgdg16.04+1 amd64 object-relational SQL database, version 11 server
ii postgresql-client-11 11.5-3.pgdg16.04+1 amd64 front-end programs for PostgreSQL 11
ii postgresql-client-common 207.pgdg16.04+1 all manager for multiple PostgreSQL client versions
ii postgresql-common 207.pgdg16.04+1 all PostgreSQL database-cluster manager
ii postgresql-contrib 11+207.pgdg16.04+1 all additional facilities for PostgreSQL (supported version)我甚至尝试重新启动postgres仍然存在同样的问题。
**sudo /etc/init.d/postgresql status**发布于 2021-09-15 09:35:51
我收到了这个错误消息,这就是我解决它的方法。
在/var/log/postgresql/postgresql-13-main.log的日志文件中,显示了以下行:
2021-09-15 08:26:04.936 UTC [46258] LOG: invalid value for parameter "lc_messages": "en_US.UTF-8"
2021-09-15 08:26:04.936 UTC [46258] LOG: invalid value for parameter "lc_monetary": "en_US.UTF-8"
2021-09-15 08:26:04.937 UTC [46258] LOG: invalid value for parameter "lc_numeric": "en_US.UTF-8"
2021-09-15 08:26:04.937 UTC [46258] LOG: invalid value for parameter "lc_time": "en_US.UTF-8"
2021-09-15 08:26:04.937 UTC [46258] FATAL: configuration file "/etc/postgresql/13/main/postgresql.conf" contains errors
pg_ctl: could not start server
Examine the log output.这是由于缺少区域设置造成的,并可能修复以下问题:
据称
localedef已经修复了这个问题,但我没那么走运。localedef -i en_US -f UTF-8 en_US.UTF-8
lc_messages = 'en_GB.UTF-8‘#系统错误消息字符串的区域设置lc_monetary = 'en_GB.UTF-8’#货币格式的区域设置lc_numeric = 'en_GB.UTF-8‘#数字格式的区域设置lc_time = 'en_GB.UTF-8’#时间格式的区域设置
= 5432 #(更改需要重新启动)端口
我的PostgreSQL 13默认配置( 5433)上的端口错误,需要更改回默认的5432。我假设这是从v11升级的结果,所以它给了它一个新的端口号。
在这些更改之后,PostgreSQL需要重新启动,它现在应该能够正常工作,并且日志中没有错误,并且psql命令可以正常工作。
发布于 2021-09-23 12:15:40
试试这个:
sudo -u postgres -i
然后:
initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/'
exit
到目前为止,这对我很有效。
https://stackoverflow.com/questions/58621562
复制相似问题