我与用户“ Postgres”建立联系,并创建了一个用户:
postgres=# CREATE DATABASE db_example ;
postgres=# CREATE USER user WITH PASSWORD 'user123';
postgres=# REVOKE CONNECT ON DATABASE db_example FROM user;
REVOKE
postgres=# \q
稍后,我尝试将用户“ user”连接到“ db_example”:
root @ debian:/ home / debian#psql -d db_example -U用户-h本地主机
psql (9.4.9)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
db_example=>
为什么我可以将用户“ user”连接到“ db_example”?
感谢您的帮助和美好的一天。
这是因为PUBLIC
(即每个人)默认都具有该特权。
要删除它,请运行
REVOKE CONNECT ON DATABASE db_example FROM PUBLIC;
运行\l+
以查看当前在数据库上设置的特权。空设置表示默认值:所有者可以执行所有操作并PUBLIC
可以连接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句