暂无图片
PostgreSql 如何配置一个用户只能看到对应的数据库列表吗?
我来答
分享
D
Dataplus
2021-04-08
PostgreSql 如何配置一个用户只能看到对应的数据库列表吗?

PostgreSql 如何配置一个用户只能看到对应的数据库列表吗?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
你好我是李白

PostgreSQL的用户创建之后,默认对所有数据库具有connect权限以及对数据库属于public对象都可以操作。

你如果只想让某个用户具有不是属主的某个库的连接以及查看权限则可以:

revoke CONNECT ON DATABASE {db_name} from public;
grant all on DATABASE {db_name}to {username};
–当然也可以用grant revoke控制更细粒度的权限,根据自己需要,需要注意pg某些权限需要从public回收掉才可以,比如connect。

暂无图片 评论
暂无图片 有用 0
打赏 0
张晓栋

尝试了 revoke CONNECT ON DATABASE a1 from public; 这样 别的用户是没有办法连接 a1 这个数据库了,但是 其他用户连接到 pg server 之后在 db list 依然可以看到a1这个数据库的存在,如果想要做到 只有指定的账户 在 db list 看到这个数据库怎么操作呢,对应的需求在 mysql 和 sqlserver 中都可以解决,唯独 pg 不知该如何处理,望解答,可付费

暂无图片 评论
暂无图片 有用 0
打赏 0
你好我是李白

PostgreSQL database名是全局,貌似通过正常grant跟revoke不能控制看到的db list,我测试回收系统表select权限也能看到db list。

暂无图片 评论
暂无图片 有用 0
打赏 0
马腾飞

找到解决办法了吗?

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
PostgreSQL11外网访问经常假死,是什么原因呢?
回答 1
已采纳
检查下网络和数据库的负载
postgreSQL 批量插入数据的时候,有没有好的办法查重?
回答 2
试一下:SELECTcolumn1,column2,COUNT()FROMyourtablenameGROUPBYcolumn1,column2HAVINGCOUNT()>1;详见:https:
源码安装PG16
回答 7
已采纳
要是不想折腾的话不用这个功能编译configure时就加上这个–withouticu忽略掉这个./configurewithouticu要是需要ICU功能(一般是用来排序)的话就查查看怎么在你现有的操
postgresql :在源码的contrib路径下加了一个base36的插件但是build的时候报错:could not determine module type
回答 1
已采纳
是这个插件?应该在windows编译有兼容问题https://github.com/adjust/pgbase36建议在linux编译,centos7下可以编译过
pg中SQL没有过滤条件,在创建索引的时候,还要加个常量吗?
回答 1
我实际测试了MySQL是不需要Oracle这样添加常量也能走索引的。PG可以自己走测试
pg中执行计划rows和mysql中执行计划的rows examined 的不同
回答 1
你可以用explainanalyzeselectfromtabwhereid5看下:testexplainanalyzeselectfromcompanywhereage10;QUERYPLANSeq
创建逻辑复制,pg_wal目录过大导致磁盘撑爆怎么解决?
回答 1
1.检查你配置的日志级别,一般replica就行。2.检查点的设置和自动回收的配置检查下,可以参考网上一些配置的最佳实践参数配置下。最好还是再清楚每个参数作用的情况下调整参数配置。
postgreSQL 有没有设置groupby 不检索全部字段?
回答 1
如果groupby是prikey就可以。否则就不支持。
postgresql :你们业务会大量放在存储过程中吗?
回答 1
已采纳
看开发团队风格,有的喜欢有的不喜欢。
根分区满了,为什么我删除了/ROOT/目录下的文件,磁盘空间为什么没有释放?
回答 2
执行以下命令reboot重启后将释放。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~