PostgreSQL9.0新特性(ZZ)
尚未验证,有空试验一下!! ///////////////////////////////////////////////////// PostgreSQL9.0提供了一种新的权限方式,即alter default privileges。这个语句的可以解决在数据库中建只读用户的要求。以前在PostgreSQL数据库中,建不了只读用户,即使第一次把所有表的select权限赋给一个用户,但当后面又建新表后,这个只读用户是没有后面新建表的读权限的。而在oracle数据库,只要select any table to xxxx,就建立了一个只读用户。现在PostgreSQL9.0提供了alter default privileges功能后,这个问题不存在了。例如:alter default privileges for user jack in schema public grant select on tables to scott; 使用这个语句后,如果用户jack再建新表时,用户scott就会自动有对这些新表的select权限。注意执行这个语句后,在这个语句之前jack用户的老表,scott用户仍然是没有select权限的。这时需要手工把旧表的select权赋给scott用户,然后再使用alter default privileges就实现了只读用户scott。 收回上面的权限的语句为:alter default privileges for user jack in schema public revoke select on tables from scott; 注意执行这个语句之前,alter default privileges .... grant语句之后,jack用户的建的表,scott用户已经有select权限的,这个语句不会收回这些select权限。简单总结说alter default privileges并不会改变已有用户的权限,只有在有对象创建时,才会根据alter default privileges定义的情况给指定的用户加权限,这个语句有点象是在建对象时加了一个权限触发器。 查看alter default privileges权限的方法是使用/ddp:part01=# /ddp Default access privilegesOwner | Schema | Type| Access privileges -------+--------+-------+-------------------jack| public | table | scott=r/jack(1 row) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Cocos2D-X shader(三) Shader and Program编程基
- wpf – 标签“xxx”不存在于XML命名空间“yyy”/
- reactjs – onmouseover不使用React.js
- oracle数据库DB_NAME、DBID、DB_UNIQUE_NAME等的
- ADF如何面对生命周期与JSF生命周期不同?
- logback logback.xml常用配置详解(三) <filter
- [React + Functional Programming ADT] Connect
- u-boot for tiny210 ver2.2(by liukun321咕唧咕唧
- XML解析方式对比(含XPP3解析)
- Swift,错误EXC_BREAKPOINT(代码= 1,子代码= 0x10