首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >psql :在Unix域套接字上的连接"/var/run/postgresql/.s.PGSQL.5432"?

psql :在Unix域套接字上的连接"/var/run/postgresql/.s.PGSQL.5432"?
EN

Stack Overflow用户
提问于 2019-10-30 16:52:09
回答 2查看 395关注 0票数 2

昨天我已经安装了postgresql并完成了所有设置并创建了数据库和表,但今天早上突然出现了这个错误

我也卸载并安装了postgresql,但仍然出现相同的错误。此外,我还观察到,当新安装时,它可以正常工作,但一旦我关闭或重新启动我的系统,我就会得到以下错误。

代码语言:javascript
复制
 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的状态

代码语言:javascript
复制
**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时

代码语言:javascript
复制
**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仍然存在同样的问题。

代码语言:javascript
复制
 **sudo /etc/init.d/postgresql status**
EN

回答 2

Stack Overflow用户

发布于 2021-09-15 09:35:51

我收到了这个错误消息,这就是我解决它的方法。

/var/log/postgresql/postgresql-13-main.log的日志文件中,显示了以下行:

代码语言:javascript
复制
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.

这是由于缺少区域设置造成的,并可能修复以下问题:

据称

  1. localedef已经修复了这个问题,但我没那么走运。

localedef -i en_US -f UTF-8 en_US.UTF-8

  1. 更改postgresql.conf并使用确实存在的区域设置(在我的示例中为en_GB)

lc_messages = 'en_GB.UTF-8‘#系统错误消息字符串的区域设置lc_monetary = 'en_GB.UTF-8’#货币格式的区域设置lc_numeric = 'en_GB.UTF-8‘#数字格式的区域设置lc_time = 'en_GB.UTF-8’#时间格式的区域设置

  1. post设置

= 5432 #(更改需要重新启动)端口

我的PostgreSQL 13默认配置( 5433)上的端口错误,需要更改回默认的5432。我假设这是从v11升级的结果,所以它给了它一个新的端口号。

在这些更改之后,PostgreSQL需要重新启动,它现在应该能够正常工作,并且日志中没有错误,并且psql命令可以正常工作。

票数 0
EN

Stack Overflow用户

发布于 2021-09-23 12:15:40

试试这个:

sudo -u postgres -i

然后:

initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/'

exit

到目前为止,这对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58621562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档