Postgre SQL   发布时间:2022-05-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PostgreSQL9.0新特性介绍: alter default privileges,解决只读用户的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

POSTGResql9.0提供了一种新的权限方式,即alter default privileges。这个语句的可以解决在数据库 中建只读用户的要求。以前在PostgreSQl数据 库 中,建不了只读用户,即使第一次把所有表的@R_696_10288@ct权限赋给一个用户,但当后面又建新表后,这个只读用户是没有后面新建表的读权限的。而在 @R_944_10353@le数据库,只要@R_696_10288@ct any table to xxxx,就建立了一个只读用户。现在PostgreSQl9.0提供了alter default privileges功能后,这个问题不存在了。
例如:
alter default privileges for user jack in scheR_750_11845@a public grant @R_696_10288@ct on tables to scott;
使用这个语句后,如果用户jack再建新表时,用户scott就会自动有对这些新表的@R_696_10288@ct权限。
注意执行这个语句后,在这个语句之前jack用户的老表,scott用户仍然是没有@R_696_10288@ct权限的。这时需要手工把旧表的@R_696_10288@ct权赋给scott用户,然后再使用alter default privileges就实现了只读用户scott。

收回上面的权限的语句为:
alter default privileges for user jack in scheR_750_11845@a public revoke @R_696_10288@ct on tables from scott;
注意执行这个语句之前,alter default privileges .... grant语句之后,jack用户的建的表,scott用户已经有@R_696_10288@ct权限的,这个语句不会收回这些@R_696_10288@ct权限。
简单总结说alter default privileges并不会改变已有用户的权限,只有在有对象创建时,才会根据alter default privileges定义的情况给指定的用户加权限,这个语句有点象是在建对象时加了一个权限触发器。

查看alter default privileges权限的方法是使用/ddp:
part01=# /ddp Default access privileges owner | scheR_750_11845@a | Type| Access privileges -------+--------+-------+------------------- jack| public | table | scott=r/jack (1 row)

大佬总结

以上是大佬教程为你收集整理的PostgreSQL9.0新特性介绍: alter default privileges,解决只读用户的问题全部内容,希望文章能够帮你解决PostgreSQL9.0新特性介绍: alter default privileges,解决只读用户的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:就建