我按照几个教程在我的 Ubuntu 20.4 上安装 PostgreSQL,但我遇到了问题。
为了安装我使用的 Postgres
sudo apt install postgresql postgresql-contrib
看起来不错,但是当我扔
sudo -i -u postgres
postgres@gabriele:~$ psql
我看到这个错误
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: >File o directory non esistente Is the server running locally and accepting connections on that socket?
我不知道如何解决这件事。也许,当我使用 pgAdmin4 与 DB 一起工作时,我发现没有服务器连接,我不知道如何连接服务器。
这是我第一次遇到这种事情,有人可以帮助我吗?
最佳答案
通常您希望在后台将 Postgres 数据库服务器作为服务启动(例如在容器中除外)。似乎您正试图在前台启动它。
您可以使用以下命令执行此操作。
sudo systemctl start postgresql
您可以使用以下命令检查它是否正在运行:sudo systemctl status postgresql
如果它正在运行,您应该会看到类似这样的内容。● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2022-03-15 16:57:15 CET; 4min 34s ago
Process: 205678 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 205678 (code=exited, status=0/SUCCESS)
然后你仍然无法通过 psql
连接。默认情况下,Postgres 在使用 Peer Authentication
时不会成功验证您的身份。并且您的用户名可能不是 postgres
这是默认用户和数据库psql
用途。错误消息将类似于
psql: error: FATAL: Peer authentication failed for user "postgres"
.this answer 中有关于如何更改配置的指南这样您就可以成功进行身份验证。
无论您使用的是
psql
, pgAdmin
只要您正确配置了身份验证并使用正确的 username
进行连接,或者其他客户端都无关紧要。 , database name
, host
和 port
.您可以查看默认值以及如何使用 psql --help
指定您自己的值。 .PS:你可能还想考虑使用官方Postgres container而不是在您的系统上安装 Postgres。还有一个关于如何在 DockerHub 上启动和运行的描述。
关于postgresql - 在 Ubuntu 上安装 PostgreSQL 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71485101/