通过 psql 进行用户身份验证的问题

Problem with user authentication via psql

我对 postgre 中的数据库管理还比较陌生,我浪费了大量时间试图找出我在这里做错了什么。我的目标是创建一个用户,一个数据库,并从该用户下连接到该数据库。

我为此所做的是:

sudo -u postgres psql
postgres=# create database mydb;
postgres=# create user anna with encrypted password 'anna';
postgres=# grant all privileges on database mydb to anna;

至此,大功告成。 然后我尝试以这种方式连接到数据库:

sudo -u anna psql mydb

最后我遇到了一个奇怪的错误:

sudo: unknown user: anna

sudo: unable to initialize policy plugin

sudo-u 选项指定操作系统用户,而不是数据库用户。

而是使用 psql-U 选项:

sudo -u postgres psql -U anna -d mydb

如果 pg_hba.conf 配置为在本地连接上进行 peer 身份验证,这将不起作用,除非您指定额外的名称映射。