通过 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
身份验证,这将不起作用,除非您指定额外的名称映射。
我对 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
身份验证,这将不起作用,除非您指定额外的名称映射。