PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Fast Forward | Next |
GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tablename [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE dbname [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTION funcname ([type, ...]) [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON LANGUAGE langname [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schemaname [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ] GRANT { CREATE | ALL [ PRIVILEGES ] } ON TABLESPACE tablespacename [, ...] TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]
GRANT ���ij������ͼ�����У��������������ԣ�ģʽ���߱�ռ䣩 �ϵ��ض�Ȩ����һ���û����߶���û�����һ���û��� ��ЩȨ�����ӵ���Щ�Ѿ������Ȩ���ϣ����������ЩȨ�Ļ���
���� PUBLIC ��ʾ��Ȩ��Ҫ���������û�, ������Щ�Ժ���ܴ������û���PUBLIC ���Կ�����һ����������õ��飬�����ǰ��������û��� �κ��ض����û�����ӵ��ֱ�Ӹ�����/����Ȩ�ޣ�������/���������κ��飬 �Լ��ټ��ϸ��� PUBLIC ��Ȩ���ܺ͡�
��������� WITH GRANT OPTION����ôȨ��������Ҳ���Ը�����ˡ� û�����ѡ�����Ȩ���û����ܸ�������Ȩ������ġ� Ŀǰ����Ȩѡ��ֻ�ܸ��������û��������ܸ������ PUBLIC��
�Զ���������ߣ�ͨ�����Ǵ����ߣ����ԣ�û��ʲôȨ����Ҫ���裬 ��Ϊ������ȱʡ�ͳ�������Ȩ�ޡ��������������߳��ڰ�ȫ���ǿ���ѡ�����һЩ���Լ���Ȩ�ޡ��� ɾ��һ�������Ȩ��������������������Ȩ�������ǿɸ����Ȩ�����������ģ� ���Ǵ����߹��еģ����Ҳ��ܸ��������������Ҳ������ӵ�иö����������Ȩѡ�
���ݶ���IJ�ͬ����ʼ��ȱʡȨ���ܰ����� PUBLIC ����һЩȨ�ޡ�ȱʡ���ö��ڱ�ģʽ�ͱ�ռ���û�й�������Ȩ�ģ� TEMP ��Ϊ���ݿⴴ��Ȩ�ޣ�EXECUTE Ȩ�����ں����� �Լ� USAGE �������ԡ����������ߵ�Ȼ���Գ�����ЩȨ�ޡ� ���������ȫ�Կ��ǣ��ڴ����ö����ͬһ�������з��� REVOKE�� ��ô�Ͳ��������û�ʹ�øö���Ĵ��ڡ���
���ܵ�Ȩ���У�
����������ı���ͼ���������� SELECT �����ֶΡ��������� COPY TO ��Դ�� �������ж��ԣ����Ȩ������ʹ�� currval ������
����������ı��������ֶ��� UPDATE�� SELECT ... FOR UPDATE ҲҪ�����Ȩ�� ������ SELECT Ȩ��֮�⣩�����磬 ���Ȩ������ʹ��nextval�� �� setval��
����������ı��� DELETE �С�
�����ڸñ�/��ͼ�ϴ����������� CREATE RULE ��䡣��
Ҫ����һ�����Լ����������ڲο���ͱ��ο����϶�ӵ�����Ȩ�ޡ�
�������������ϴ����������������� CREATE TRIGGER ��䡣��
�������ݿ⣬�����ڸ����ݿ��ﴴ���µ�ģʽ��
����ģʽ�������ڸ�ģʽ�д����µĶ��� Ҫ������һ�����ж��������ӵ�иö��������� �����ö����ģʽӵ�����Ȩ�ޡ�
���ڱ�ռ䣬������ڸñ�ռ��д������Լ����������ݿ��ģʽ��ʱ��Ѹñ�ռ�ָ��Ϊ��ȱʡ��ռ䡣 ����ע�⣬�������Ȩ����ı��������ݿ��ģʽ�Ĵ��λ�á���
������ʹ�ø����ݿ��ʱ����ʱ��
����ʹ��ָ���ĺ������ҿ���ʹ���κ�������Щ����ʵ�ֵIJ������� ���������ں�����Ψһ��һ��Ȩ�����͡� �����ͬ�������ھۼ���������
���ڹ������ԣ� ����ʹ��ָ���������Դ��������Եĺ����� ���������ڹ������Ե�Ψһ��һ��Ȩ�����͡�
����ģʽ��������ʰ�����ָ��ģʽ�еĶ�����ö��������ȨҪ��ͬ��Ҳ�����ˣ��� ������Щ��������Ȩ������"��ѯ"ģʽ�еĶ���
һ���Ը������п��Ը����Ȩ�ޡ� PRIVILEGES �ؼ����� PostgreSQL ���ǿ�ѡ�ģ� �����ϸ�� SQL Ҫ��������ؼ��֡�
��������Ҫ���Ȩ������Ӧ������IJο�ҳ���г���
REVOKE ��������ɾ������Ȩ�ޡ�
����Ƕ�����������ͼ�ڶ����� GRANT Ȩ�ޣ������û�û�иö�����ָ����Ȩ�ޣ���ô�������ʧ�ܡ� ֻҪ��ijЩ���õ�Ȩ�ޣ�������ͻ������������ֻ������Щ���û�����Ȩѡ���Ȩ�ޡ� �����ͷû�п��õ���Ȩѡ���ô GRANT ALL PRIVILEGES ��ʽ������һ��������Ϣ�� ����������ʽ���������������ᵽ�ģ�����û����Ȩѡ�����ЩȨ����صľ�����Ϣ�� ����Щ���ԭ����Ҳ�����ڶ��������ߣ�������Ϊ���������DZ���Ϊӵ��������Ȩѡ��������������Զ���ᷢ�������������ϡ���
����Ҫע�����ݿⳬ���û����Է������ж��� �������ܶ����Ȩ������Ӱ�졣����ص����� Unix ϵͳ�� root ��Ȩ�ޡ��� root һ�������˱�Ҫ������������Գ����û���ֽ��в����Dz����ǵ�������
Ŀǰ��PostgreSQL ��֧�ָ�һ����Ķ����ֶν���Ȩ����ͳ����IJ����� һ���ƿ��İ취�Ǵ���һ��ӵ���Ǽ��е���ͼȻ����Ǹ���ͼ����Ȩ�ޡ�
ʹ�� psql �� \z �����ȡ�����ж����ϵ���Ȩ���йص���Ϣ��
lusitania=> \z mytable Access privileges for database "lusitania" Schema | Name | Type | Access privileges --------+---------+-------+------------------------------------------------------------ public | mytable | table | {miriam=arwdRxt/miriam,=r/miriam,"group todos=arw/miriam"} (1 row)
\z ��ʾ����Ŀ�������£�
=xxxx -- ���� PUBLIC ��Ȩ�� uname=xxxx -- ����һ���û���Ȩ�� group gname=xxxx -- ����һ�����Ȩ�� r -- SELECT ("��") w -- UPDATE ("д") a -- INSERT ("��") d -- DELETE R -- RULE x -- REFERENCES t -- TRIGGER X -- EXECUTE U -- USAGE C -- CREATE T -- TEMPORARY arwdRxt -- ALL PRIVILEGES (���ڱ�) * -- ��ǰ��Ȩ����Ȩѡ�� /yyyy -- �ڳ����Ȩ���û�
�û� miriam �ڽ����֮�������������䣬 �Ϳ��Եõ��������ӵĽ��
GRANT SELECT ON mytable TO PUBLIC; GRANT SELECT, UPDATE, INSERT ON mytable TO GROUP todos;
���һ�������Ķ���� "Access privileges" �ֶ��ǿյģ� ����ζ�Ÿö�����ȱʡȨ�ޣ�Ҳ����˵������Ȩ���ֶ��� NULL���� ȱʡȨ�����ǰ��������ߵ�����Ȩ�ޣ��Լ����ݶ���IJ�ͬ�����ܰ���һЩ�� PUBLIC ��Ȩ�ޡ� �����ϵ�һ�� GRANT ���� REVOKE ��ʵ�������ȱʡȨ�ޣ����磬���� {=,miriam=arwdRxt}�� Ȼ�����ÿ���ض�������������
��ע�������ߵ�������Ȩѡ��û������ʾ�����ķ���Ȩ�����dz����� ֻ������Ȩѡ����ȷ������ij��֮�Ż���ʾһ�� *��
�ѱ� films �IJ���Ȩ���������û���
GRANT INSERT ON films TO PUBLIC;
�����û�manuel����ͼkinds������Ȩ�ޣ�
GRANT ALL PRIVILEGES ON kinds TO manuel;
��ע�⣬�������������ɳ����û����� kinds ��������ִ�У���ô��ʵ���ϻḳ������Ȩ�ޣ� �����������ִ�У���ô���ḳ������������ˡ�ӵ����Ȩѡ�������Ȩ�ޡ�
���� SQL ������ ALL PRIVILEGES ��� PRIVILEGES �ؼ����DZ���ġ�SQL ��֧����һ��������Զ��������Ȩ�ޡ�
PostgreSQL ����һ�����������߳������Լ�����ͨȨ�ޣ� ���磬һ���������߿������Լ����������ֻ���ģ������dz����Լ��� INSERT��UPDATE�� �Լ� DELETE Ȩ�ޡ����� SQL �������Dz����ܵġ�ԭ���� PostgreSQL �������ߵ�Ȩ�����������߸��Լ�����ģ����Ҳ���Գ������ǡ� �� SQL ��������ߵ�Ȩ���Ǽ���Ϊ "_SYSTEM" ʵ�帳��ġ���Ϊ�����߲��� "_SYSTEM"�� ���������ܳ�����ЩȨ�ޡ�
SQL ��������һ������Ϊ�������ֶ�����Ȩ�ޣ�
GRANT privilege ON table [ ( column [, ...] ) ] [, ...] TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ]
SQL �����������͵Ķ����ṩ��һ�� USAGE Ȩ�ޣ��ַ�����У����ת������
RULE Ȩ�ޣ��Լ������ݿ⣬��ռ䣬ģʽ�����Ժ������ϵ�Ȩ���� PostgreSQL ��չ��