REVOKE
REVOKE â оÑозваÑÑ Ð¿Ñава доÑÑÑпа
СинÑакÑиÑ
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
[, ...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] имÑ_ÑаблиÑÑ [, ...]
| ALL TABLES IN SCHEMA имÑ_ÑÑ
ÐµÐ¼Ñ [, ...] }
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | REFERENCES } ( имÑ_ÑÑолбÑа [, ...] )
[, ...] | ALL [ PRIVILEGES ] ( имÑ_ÑÑолбÑа [, ...] ) }
ON [ TABLE ] имÑ_ÑаблиÑÑ [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { USAGE | SELECT | UPDATE }
[, ...] | ALL [ PRIVILEGES ] }
ON { SEQUENCE имÑ_поÑледоваÑелÑноÑÑи [, ...]
| ALL SEQUENCES IN SCHEMA имÑ_ÑÑ
ÐµÐ¼Ñ [, ...] }
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
ON DATABASE имÑ_бд [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON DOMAIN имÑ_домена [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON FOREIGN DATA WRAPPER имÑ_обÑÑÑки_ÑÑоÑонниÑ
_даннÑÑ
[, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON FOREIGN SERVER имÑ_ÑеÑвеÑа [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
ON { { FUNCTION | PROCEDURE | ROUTINE } имÑ_ÑÑнкÑии [ ( [ [ Ñежим_аÑгÑменÑа ] [ имÑ_аÑгÑменÑа ] Ñип_аÑгÑменÑа [, ...] ] ) ] [, ...]
| ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA имÑ_ÑÑ
ÐµÐ¼Ñ [, ...] }
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE имÑ_ÑзÑка [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] }
ON LARGE OBJECT oid_ÐÐ [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { SET | ALTER SYSTEM } [, ...] | ALL [ PRIVILEGES ] }
ON PARAMETER паÑамеÑÑ_конÑигÑÑаÑии [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] }
ON SCHEMA имÑ_ÑÑ
ÐµÐ¼Ñ [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ CREATE | ALL [ PRIVILEGES ] }
ON TABLESPACE Ñабл_пÑоÑÑÑанÑÑво [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ USAGE | ALL [ PRIVILEGES ] }
ON TYPE имÑ_Ñипа [, ...]
FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
REVOKE [ { ADMIN | INHERIT | SET } OPTION FOR ]
имÑ_Ñоли [, ...] FROM Ñказание_Ñоли [, ...]
[ GRANTED BY Ñказание_Ñоли ]
[ CASCADE | RESTRICT ]
ÐдеÑÑ Ñказание_Ñоли:
[ GROUP ] имÑ_Ñоли
| PUBLIC
| CURRENT_ROLE
| CURRENT_USER
| SESSION_USERÐпиÑание
Ðоманда REVOKE лиÑÐ°ÐµÑ Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко Ñолей пÑав, назнаÑеннÑÑ
Ñанее. ÐлÑÑевое Ñлово PUBLIC обознаÑÐ°ÐµÑ Ð½ÐµÑвно опÑеделÑннÑÑ Ð³ÑÑÐ¿Ð¿Ñ Ð²ÑеÑ
Ñолей.
РазлиÑнÑе ÑÐ¸Ð¿Ñ Ð¿Ñав подÑобно ÑаÑÑмаÑÑиваÑÑÑÑ Ð² опиÑании ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ GRANT.
ÐамеÑÑÑе, ÑÑо лÑÐ±Ð°Ñ ÐºÐ¾Ð½ÐºÑеÑÐ½Ð°Ñ ÑÐ¾Ð»Ñ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð² ÑÑмме пÑава, даннÑе непоÑÑедÑÑвенно ей, пÑава, даннÑе лÑбой Ñоли, в коÑоÑÑÑ Ð¾Ð½Ð° вклÑÑена, а Ñакже пÑава, даннÑе гÑÑппе PUBLIC. ÐоÑÑомÑ, напÑимеÑ, лиÑение PUBLIC пÑава SELECT не обÑзаÑелÑно бÑÐ´ÐµÑ Ð¾Ð·Ð½Ð°ÑаÑÑ, ÑÑо вÑе Ñоли лиÑаÑÑÑ Ð¿Ñава SELECT Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ обÑекÑа: оно ÑоÑ
ÑаниÑÑÑ Ñ ÑеÑ
Ñолей, коÑоÑÑм оно дано непоÑÑедÑÑвенно или коÑвенно, ÑеÑез дÑÑгÑÑ ÑолÑ. ÐодобнÑм обÑазом, лиÑение пÑава SELECT какого-либо полÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ повлиÑÑÑ Ð½Ð° его возможноÑÑÑ Ð¿Ð¾Ð»ÑзоваÑÑÑÑ Ð¿Ñавом SELECT, еÑли ÑÑо пÑаво дано гÑÑппе PUBLIC или дÑÑгой Ñоли, в коÑоÑÑÑ Ð¾Ð½ вклÑÑÑн.
ÐÑли Ñказано GRANT OPTION FOR, оÑзÑваеÑÑÑ ÑолÑко пÑаво пеÑедаÑи пÑава, но не Ñамо пÑаво. Ðез ÑÑого ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾ÑзÑваеÑÑÑ Ð¸ пÑаво, и пÑаво ÑаÑпоÑÑжаÑÑÑÑ Ð¸Ð¼.
ÐÑли полÑзоваÑÐµÐ»Ñ Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð¿Ñавом Ñ Ð¿Ñавом пеÑедаÑи и он дал его дÑÑгим полÑзоваÑелÑм, поÑледнее пÑаво ÑÑиÑаеÑÑÑ Ð·Ð°Ð²Ð¸ÑимÑм. Ðогда пеÑвÑй полÑзоваÑÐµÐ»Ñ Ð»Ð¸ÑаеÑÑÑ Ñамого пÑава или пÑава пеÑедаÑи и ÑÑÑеÑÑвÑÑÑ Ð·Ð°Ð²Ð¸ÑимÑе пÑава, ÑÑи завиÑимÑе пÑава Ñакже оÑзÑваÑÑÑÑ, еÑли дополниÑелÑно Ñказано CASCADE; в пÑоÑивном ÑлÑÑае опеÑаÑÐ¸Ñ Ð·Ð°Ð²ÐµÑÑаеÑÑÑ Ð¾Ñибкой. ÐÑо ÑекÑÑÑивное лиÑение пÑав заÑÑÐ°Ð³Ð¸Ð²Ð°ÐµÑ ÑолÑко пÑава, полÑÑеннÑе ÑеÑез ÑепоÑÐºÑ Ð¿Ð¾Ð»ÑзоваÑелей, коÑоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ пÑоÑледиÑÑ Ð´Ð¾ полÑзоваÑелÑ, ÑвлÑÑÑегоÑÑ ÑÑбÑекÑом ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ REVOKE. Таким обÑазом, полÑзоваÑели могÑÑ Ð² иÑоге ÑоÑ
ÑаниÑÑ ÑÑо пÑаво, еÑли оно бÑло Ñакже полÑÑено ÑеÑез дÑÑгиÑ
полÑзоваÑелей.
Ðогда оÑзÑваеÑÑÑ Ð¿Ñаво доÑÑÑпа к ÑаблиÑе, Ñ Ð½Ð¸Ð¼ вмеÑÑе авÑомаÑиÑеÑки оÑзÑваÑÑÑÑ ÑооÑвеÑÑÑвÑÑÑие пÑава Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа ÑаблиÑÑ (еÑли Ñакие пÑава заданÑ). С дÑÑгой ÑÑоÑонÑ, еÑли Ñоли бÑли Ð´Ð°Ð½Ñ Ð¿Ñава Ð´Ð»Ñ ÑаблиÑÑ, лиÑение Ñоли ÑÐ°ÐºÐ¸Ñ Ð¶Ðµ пÑав на ÑÑовне оÑделÑнÑÑ ÑÑолбÑов ни на ÑÑо не влиÑеÑ.
Ðогда полÑзоваÑÐµÐ»Ñ Ð»Ð¸ÑаеÑÑÑ ÑленÑÑва в Ñоли, Ñказание GRANT OPTION менÑеÑÑÑ Ð½Ð° ADMIN OPTION, но в оÑÑалÑном поведение не оÑлиÑаеÑÑÑ. ÐбÑаÑиÑе внимание, ÑÑо в веÑÑиÑÑ
PostgreSQL до 16 пÑи назнаÑении ÑленÑÑва в ÑолÑÑ
завиÑимÑе пÑава не оÑÑлеживалиÑÑ, Ñо еÑÑÑ Ñказание CASCADE пÑи ÑÑом не дейÑÑвовало. СейÑÐ°Ñ Ð·Ð°Ð²Ð¸ÑимÑе пÑава оÑÑлеживаÑÑÑÑ. ÐамеÑÑÑе Ñакже, ÑÑо ÑÑа ÑоÑма ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½Ðµ пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¸Ð·Ð±ÑÑоÑное Ñлово GROUP в Ñказании_Ñоли.
Ðожно оÑозваÑÑ Ð¿Ñаво INHERIT OPTION или SET OPTION Ñак же, как ADMIN OPTION. ÐÑо ÑавнознаÑно пÑиÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ FALSE.
ÐÑимеÑаниÑ
ÐолÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑзÑваÑÑ ÑолÑко Ñе пÑава, коÑоÑÑе он дал дÑÑÐ³Ð¾Ð¼Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно. ÐÑли, напÑимеÑ, полÑзоваÑÐµÐ»Ñ A дал пÑаво Ñ Ð¿Ñавом пеÑедаÑи полÑзоваÑÐµÐ»Ñ B, а полÑзоваÑÐµÐ»Ñ B, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, дал ÑÑо пÑаво полÑзоваÑÐµÐ»Ñ C, Ñо полÑзоваÑÐµÐ»Ñ A не ÑÐ¼Ð¾Ð¶ÐµÑ Ð»Ð¸ÑиÑÑ ÑÑого пÑава непоÑÑедÑÑвенно C. ÐмеÑÑо ÑÑого, полÑзоваÑÐµÐ»Ñ A Ð¼Ð¾Ð¶ÐµÑ Ð»Ð¸ÑиÑÑ Ð¿Ñава пеÑедаÑи пÑава полÑзоваÑÐµÐ»Ñ B и иÑполÑзоваÑÑ Ð¿Ð°ÑамеÑÑ CASCADE, ÑÑÐ¾Ð±Ñ ÑÑого пÑава по ÑепоÑке лиÑилÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ C. Ðли же, напÑимеÑ, еÑли и A, и B дали одно и Ñо же пÑаво C, Ñо A ÑÐ¼Ð¾Ð¶ÐµÑ Ð¾ÑозваÑÑ Ð¿Ñаво, коÑоÑое дал он, но не полÑзоваÑÐµÐ»Ñ B, Ñак ÑÑо в ÑезÑлÑÑаÑе C вÑÑ Ñавно бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ ÑÑо пÑаво.
ÐÑли оÑозваÑÑ Ð¿Ñаво доÑÑÑпа к обÑекÑÑ (Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ REVOKE) попÑÑаеÑÑÑ Ð½Ðµ Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ Ð¾Ð±ÑекÑа, команда завеÑÑиÑÑÑ Ð¾Ñибкой, еÑли полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
пÑав Ð´Ð»Ñ ÑÑого обÑекÑа. ÐÑли же полÑзоваÑÐµÐ»Ñ Ð¸Ð¼ÐµÐµÑ ÐºÐ°ÐºÐ¸Ðµ-Ñо пÑава, команда бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ, но полÑзоваÑÐµÐ»Ñ ÑÐ¼Ð¾Ð¶ÐµÑ Ð¾ÑозваÑÑ ÑолÑко Ñе пÑава, коÑоÑÑе Ð´Ð°Ð½Ñ ÐµÐ¼Ñ Ñ Ð¿Ñавом ÑаÑпоÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð¼Ð¸. ФоÑÐ¼Ñ REVOKE ALL PRIVILEGES бÑдÑÑ Ð²ÑдаваÑÑ Ð¿ÑедÑпÑеждение, еÑли Ñ Ð½ÐµÐ³Ð¾ вовÑе Ð½ÐµÑ ÑакиÑ
пÑав, Ñогда как дÑÑгие ÑоÑÐ¼Ñ Ð±ÑдÑÑ Ð²ÑдаваÑÑ Ð¿ÑедÑпÑеждениÑ, еÑли полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð¿Ñава ÑаÑпоÑÑжаÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ пÑавами, ÑказаннÑми в команде. (РпÑинÑипе, ÑÑи ÑÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ñ Ð¸ к владелÑÑÑ Ð¾Ð±ÑекÑа, но ÐµÐ¼Ñ ÑазÑеÑено ÑаÑпоÑÑжаÑÑÑÑ Ð²Ñем пÑавами, поÑÑÐ¾Ð¼Ñ Ñакие ÑиÑÑаÑии невозможнÑ.)
ÐÑли ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ GRANT или REVOKE вÑполнÑÐµÑ ÑÑпеÑполÑзоваÑелÑ, ÑÑа команда вÑполнÑеÑÑÑ Ñак, как бÑдÑо ÐµÑ Ð²ÑполнÑÐµÑ Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ Ð·Ð°ÑÑагиваемого обÑекÑа. (ÐоÑколÑÐºÑ Ñ Ñолей владелÑÑев неÑ, GRANT Ð´Ð»Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑленÑÑва в Ñоли вÑполнÑеÑÑÑ, как Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ наÑалÑного ÑÑпеÑполÑзоваÑелÑ.) Так как вÑе пÑава в конÑе конÑов иÑÑ
одÑÑ Ð¾Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑа обÑекÑа (возможно, коÑвенно по ÑепоÑке или ÑеÑез пÑаво ÑаÑпоÑÑжением пÑавом), ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑозваÑÑ Ð²Ñе пÑава, но ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñежима CASCADE, как опиÑÑвалоÑÑ Ð²ÑÑе.
REVOKE Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñполнена ÑолÑÑ, коÑоÑÐ°Ñ Ð½Ðµ ÑвлÑеÑÑÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑем заданного обÑекÑа, но ÑвлÑеÑÑÑ Ñленом Ñоли-владелÑÑа, либо Ñленом Ñоли, имеÑÑей пÑава WITH GRANT OPTION Ð´Ð»Ñ ÑÑого обÑекÑа. Ð ÑÑом ÑлÑÑае команда бÑÐ´ÐµÑ Ð²Ñполнена, как еÑли Ð±Ñ ÐµÑ Ð²ÑполнÑла ÑодеÑжаÑÐ°Ñ ÑолÑ, дейÑÑвиÑелÑно владеÑÑÐ°Ñ Ð¾Ð±ÑекÑом или имеÑÑÐ°Ñ Ð¿Ñава WITH GRANT OPTION. ÐапÑимеÑ, еÑли ÑаблиÑа t1 пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ Ñоли g1, Ñленом коÑоÑой ÑвлÑеÑÑÑ ÑÐ¾Ð»Ñ u1, Ñо u1 Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑзÑваÑÑ Ð¿Ñава на иÑполÑзование t1, коÑоÑÑе запиÑÐ°Ð½Ñ ÐºÐ°Ðº даннÑе ÑолÑÑ g1. Ð Ñом ÑиÑле ÑÑо могÑÑ Ð±ÑÑÑ Ð¿Ñава, даннÑе ÑолÑÑ u1, а Ñакже дÑÑгими Ñленами Ñоли g1.
ÐÑли ÑолÑ, вÑполнÑÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ REVOKE, полÑÑила ÑказаннÑе пÑава коÑвенно по неÑколÑким пÑÑÑм ÑленÑÑва Ñолей, ÐºÐ°ÐºÐ°Ñ Ð¸Ð¼ÐµÐ½Ð½Ð¾ ÑÐ¾Ð»Ñ Ð±ÑÐ´ÐµÑ Ð²ÑбÑана Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, не опÑеделено. Ð ÑакиÑ
ÑлÑÑаÑÑ
ÑекомендÑеÑÑÑ Ð²Ð¾ÑполÑзоваÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ SET ROLE и пеÑеклÑÑиÑÑÑÑ Ð½Ð° ÑолÑ, коÑоÑÑÑ Ñ
оÑеÑÑÑ Ð²Ð¸Ð´ÐµÑÑ Ð² каÑеÑÑве вÑполнÑÑÑей REVOKE. ÐÑли ÑÑого не ÑделаÑÑ, могÑÑ Ð±ÑÑÑ Ð¾ÑÐ¾Ð·Ð²Ð°Ð½Ñ Ð½Ðµ Ñе пÑава, ÑÑо планиÑовалоÑÑ, либо оÑозваÑÑ Ð¿Ñава вообÑе не ÑдаÑÑÑÑ.
ÐодÑобнее о конкÑеÑнÑÑ ÑÐ¸Ð¿Ð°Ñ Ð¿Ñав, а Ñакже о Ñом, как пÑоÑмоÑÑеÑÑ Ð¿Ñава, назнаÑеннÑе Ð´Ð»Ñ Ð¾Ð±ÑекÑов, ÑаÑÑказÑваеÑÑÑ Ð² Разделе 5.8.
ÐÑимеÑÑ
ÐиÑение гÑÑÐ¿Ð¿Ñ public пÑава добавлÑÑÑ Ð´Ð°Ð½Ð½Ñе в ÑаблиÑÑ films:
REVOKE INSERT ON films FROM PUBLIC;
ÐиÑение полÑзоваÑÐµÐ»Ñ manuel вÑеÑ
пÑав Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ kinds:
REVOKE ALL PRIVILEGES ON kinds FROM manuel;
ÐамеÑÑÑе, ÑÑо на Ñамом деле ÑÑо ознаÑÐ°ÐµÑ Â«Ð»Ð¸ÑиÑÑ Ð²ÑÐµÑ Ð¿Ñав, коÑоÑÑе дал Ñ».
ÐÑклÑÑение из Ñленов Ñоли admins полÑзоваÑÐµÐ»Ñ joe:
REVOKE admins FROM joe;
СовмеÑÑимоÑÑÑ
ÐамеÑÐ°Ð½Ð¸Ñ Ð¿Ð¾ ÑовмеÑÑимоÑÑи, пÑиведÑннÑе Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ GRANT, ÑпÑÐ°Ð²ÐµÐ´Ð»Ð¸Ð²Ñ Ð¸ Ð´Ð»Ñ REVOKE. СÑандаÑÑ ÑÑебÑÐµÑ Ð¾Ð±ÑзаÑелÑного ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐºÐ»ÑÑевого Ñлова RESTRICT или CASCADE, но PostgreSQL подÑазÑÐ¼ÐµÐ²Ð°ÐµÑ RESTRICT по ÑмолÑаниÑ.