dependency.out
来自「postgresql8.3.4源码,开源数据库」· OUT 代码 · 共 120 行
OUT
120 行
---- DEPENDENCIES--CREATE USER regression_user;CREATE USER regression_user2;CREATE USER regression_user3;CREATE GROUP regression_group;CREATE TABLE deptest (f1 serial primary key, f2 text);NOTICE: CREATE TABLE will create implicit sequence "deptest_f1_seq" for serial column "deptest.f1"NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "deptest_pkey" for table "deptest"GRANT SELECT ON TABLE deptest TO GROUP regression_group;GRANT ALL ON TABLE deptest TO regression_user, regression_user2;-- can't drop neither because they have privileges somewhereDROP USER regression_user;ERROR: role "regression_user" cannot be dropped because some objects depend on itDETAIL: access to table deptestDROP GROUP regression_group;ERROR: role "regression_group" cannot be dropped because some objects depend on itDETAIL: access to table deptest-- if we revoke the privileges we can drop the groupREVOKE SELECT ON deptest FROM GROUP regression_group;DROP GROUP regression_group;-- can't drop the user if we revoke the privileges partiallyREVOKE SELECT, INSERT, UPDATE, DELETE, RULE, REFERENCES ON deptest FROM regression_user;DROP USER regression_user;ERROR: role "regression_user" cannot be dropped because some objects depend on itDETAIL: access to table deptest-- now we are OK to drop himREVOKE TRIGGER ON deptest FROM regression_user;DROP USER regression_user;-- we are OK too if we drop the privileges all at onceREVOKE ALL ON deptest FROM regression_user2;DROP USER regression_user2;-- can't drop the owner of an object-- the error message detail here would include a pg_toast_nnn name that-- is not constant, so suppress it\set VERBOSITY terseALTER TABLE deptest OWNER TO regression_user3;DROP USER regression_user3;ERROR: role "regression_user3" cannot be dropped because some objects depend on it\set VERBOSITY default-- if we drop the object, we can drop the user tooDROP TABLE deptest;DROP USER regression_user3;-- Test DROP OWNEDCREATE USER regression_user0;CREATE USER regression_user1;CREATE USER regression_user2;SET SESSION AUTHORIZATION regression_user0;-- permission deniedDROP OWNED BY regression_user1;ERROR: permission denied to drop objectsDROP OWNED BY regression_user0, regression_user2;ERROR: permission denied to drop objectsREASSIGN OWNED BY regression_user0 TO regression_user1;ERROR: permission denied to reassign objectsREASSIGN OWNED BY regression_user1 TO regression_user0;ERROR: permission denied to reassign objects-- this one is allowedDROP OWNED BY regression_user0;CREATE TABLE deptest1 (f1 int unique);NOTICE: CREATE TABLE / UNIQUE will create implicit index "deptest1_f1_key" for table "deptest1"GRANT ALL ON deptest1 TO regression_user1 WITH GRANT OPTION;SET SESSION AUTHORIZATION regression_user1;CREATE TABLE deptest (a serial primary key, b text);NOTICE: CREATE TABLE will create implicit sequence "deptest_a_seq" for serial column "deptest.a"NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "deptest_pkey" for table "deptest"GRANT ALL ON deptest1 TO regression_user2;RESET SESSION AUTHORIZATION;\z deptest1 Access privileges for database "regression" Schema | Name | Type | Access privileges --------+----------+-------+------------------------------------------------------------------------------------------------------------------------------------ public | deptest1 | table | {regression_user0=arwdxt/regression_user0,regression_user1=a*r*w*d*x*t*/regression_user0,regression_user2=arwdxt/regression_user1}(1 row)DROP OWNED BY regression_user1;-- all grants revoked\z deptest1 Access privileges for database "regression" Schema | Name | Type | Access privileges --------+----------+-------+-------------------------------------------- public | deptest1 | table | {regression_user0=arwdxt/regression_user0}(1 row)-- table was dropped\d deptest-- Test REASSIGN OWNEDGRANT ALL ON deptest1 TO regression_user1;SET SESSION AUTHORIZATION regression_user1;CREATE TABLE deptest (a serial primary key, b text);NOTICE: CREATE TABLE will create implicit sequence "deptest_a_seq" for serial column "deptest.a"NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "deptest_pkey" for table "deptest"CREATE TABLE deptest2 (f1 int);-- make a serial column the hard wayCREATE SEQUENCE ss1;ALTER TABLE deptest2 ALTER f1 SET DEFAULT nextval('ss1');ALTER SEQUENCE ss1 OWNED BY deptest2.f1;RESET SESSION AUTHORIZATION;REASSIGN OWNED BY regression_user1 TO regression_user2;\dt deptest List of relations Schema | Name | Type | Owner --------+---------+-------+------------------ public | deptest | table | regression_user2(1 row)-- doesn't work: grant still existsDROP USER regression_user1;ERROR: role "regression_user1" cannot be dropped because some objects depend on itDETAIL: access to table deptest1DROP OWNED BY regression_user1;DROP USER regression_user1;\set VERBOSITY terseDROP USER regression_user2;ERROR: role "regression_user2" cannot be dropped because some objects depend on itDROP OWNED BY regression_user2, regression_user0;DROP USER regression_user2;DROP USER regression_user0;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?