超级用户可以在没有分配特定数据库的情况下登录到 PostgreSQL 服务器吗?

Can a superuser log into a PostgreSQL server without a specific database assigned to them?

我正在尝试登录 PostgreSQL 服务器。我目前不知道该服务器的内部工作原理。但是每次我使用以下命令登录时:

psql postgres
psql -U username

我遇到了这个错误:

no pg_hba.conf entry for host "[local]", user "username", database "postgres", SSL off

如果我在服务器上创建为超级用户,是否必须为我分配一个数据库?

用户并不特定于 PostgreSQL 中的数据库,而是集群中的所有数据库共享相同的用户。

如果你想登录 PostgreSQL,你仍然需要一个数据库来连接——没有数据库就无法连接。您也不能在保持与 PostgreSQL 服务器连接的同时切换数据库。

出于管理目的,PostgreSQL 具有 postgres 数据库,如果您需要的连接不是特定数据库,则可以使用该数据库,例如如果您只想创建一个用户或创建或删除一个数据库。

您要查找的语句是

psql postgres username

如果失败,可能 pg_hba.conf 中没有条目允许 username 在本地登录 postgres。与用户 postgres.

一起尝试

注意:不要使用 PostgreSQL 8.4。