0

我已经在 Ubuntu 21.04 上安装了 postgresql。

当我想将它与psql命令一起使用时,我收到了这个错误:

psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
    Is the server running locally and accepting connections on that socket?

更新 1

我以前有过postgres。今天我尝试使用它,我得到了这个错误,所以我删除了所有关于 postgres usingsudo apt remove postgresql-13 postgresql-client-13 postgresql-client-common postgresql-14 postgresql-client-14 postgresql-common和 install postgres by sudo apt install postgresql.

在教程中,他们安装 postgres 并在没有任何配置的情况下开始使用它,但我不能这样做。


更新 2

命令输出pg_lsclusters

Ver Cluster Port Status                Owner    Data directory              Log file
13  main    5432 down,binaries_missing postgres /var/lib/postgresql/13/main /var/log/postgresql/postgresql-13-main.log
14  main    5433 online                postgres /var/lib/postgresql/14/main /var/log/postgresql/postgresql-14-main.log

4

2 回答 2

1

编辑此文件以解决端口问题:

/etc/postgresql/14/main/postgresql.conf

port = 5433 -> port = 5432

/etc/postgresql/13/main/postgresql.conf

port = 5432 -> port = 5433


使用您喜欢的编辑器打开/etc/postgresql/14/main/pg_hba.conf并更改以下行:

local     all     postgres               peer

对此:

local     all     postgres               trust

然后运行sudo service postgresql restart

运行psql -U postgres并运行此命令:

ALTER USER postgres WITH ENCRYPTED PASSWORD "#your-password" ;
CRETE USER smjt2000 WITH ENCRYPTED PASSWORD "#your-password" ;
CREATE DATABASE smjt2000 OWNER smjt2000 ;

通过输入退出 postgresql shellexit

改为/etc/postgresql/14/main/pg_hba.conf

local     all     postgres          md5

终于跑了sudo service postgresql restart

于 2021-10-26T13:16:29.080 回答
0

您还可以检查 postrgresql 服务是否正在运行。它可能处于非活动状态。

○ postgresql.service - PostgreSQL RDBMS
 Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
 Active: **inactive (dead)**

检查服务状态

$sudo service postrgresql status

您的错误是由于服务处于非活动状态,因此不是本地连接的一部分。要重新启动服务:

$sudo service postrgresql restart

确认它是否处于活动状态:

$sudo service postrgresql status

● postgresql.service - PostgreSQL RDBMS
 Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
 Active: active (exited) since Tue 2022-01-18 02:13:35 EST; 2min 16s ago
Process: 167135 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 167135 (code=exited, status=0/SUCCESS)
    CPU: 3ms
于 2022-01-18T07:20:15.130 回答