diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2017-03-24 23:25:24 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2017-03-24 23:44:23 -0400 |
commit | 87dee41f3ed6d6c2a93e7ff359776cfe24f145e0 (patch) | |
tree | 6f559ffd90d1c71ff3fc8efcf6ad3dc4f72f78ab /src/backend | |
parent | 7678fe1c6dd532f5f85a768c97b75dc40072c8e4 (diff) | |
download | postgresql-87dee41f3ed6d6c2a93e7ff359776cfe24f145e0.tar.gz postgresql-87dee41f3ed6d6c2a93e7ff359776cfe24f145e0.zip |
Add COMMENT and SECURITY LABEL support for publications and subscriptions
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/catalog/system_views.sql | 22 | ||||
-rw-r--r-- | src/backend/parser/gram.y | 4 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql index b41882aa521..d8b762ee3fb 100644 --- a/src/backend/catalog/system_views.sql +++ b/src/backend/catalog/system_views.sql @@ -425,6 +425,28 @@ WHERE l.objsubid = 0 UNION ALL SELECT + l.objoid, l.classoid, l.objsubid, + 'publication'::text AS objtype, + NULL::oid AS objnamespace, + quote_ident(p.pubname) AS objname, + l.provider, l.label +FROM + pg_seclabel l + JOIN pg_publication p ON l.classoid = p.tableoid AND l.objoid = p.oid +WHERE + l.objsubid = 0 +UNION ALL +SELECT + l.objoid, l.classoid, 0::int4 AS objsubid, + 'subscription'::text AS objtype, + NULL::oid AS objnamespace, + quote_ident(s.subname) AS objname, + l.provider, l.label +FROM + pg_shseclabel l + JOIN pg_subscription s ON l.classoid = s.tableoid AND l.objoid = s.oid +UNION ALL +SELECT l.objoid, l.classoid, 0::int4 AS objsubid, 'database'::text AS objtype, NULL::oid AS objnamespace, diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index bbcfc1fb4fd..19dd77d7877 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -6340,9 +6340,11 @@ comment_type_name: | EXTENSION { $$ = OBJECT_EXTENSION; } | FOREIGN DATA_P WRAPPER { $$ = OBJECT_FDW; } | opt_procedural LANGUAGE { $$ = OBJECT_LANGUAGE; } + | PUBLICATION { $$ = OBJECT_PUBLICATION; } | ROLE { $$ = OBJECT_ROLE; } | SCHEMA { $$ = OBJECT_SCHEMA; } | SERVER { $$ = OBJECT_FOREIGN_SERVER; } + | SUBSCRIPTION { $$ = OBJECT_SUBSCRIPTION; } | TABLESPACE { $$ = OBJECT_TABLESPACE; } ; @@ -6453,8 +6455,10 @@ security_label_type_name: DATABASE { $$ = OBJECT_DATABASE; } | EVENT TRIGGER { $$ = OBJECT_EVENT_TRIGGER; } | opt_procedural LANGUAGE { $$ = OBJECT_LANGUAGE; } + | PUBLICATION { $$ = OBJECT_PUBLICATION; } | ROLE { $$ = OBJECT_ROLE; } | SCHEMA { $$ = OBJECT_SCHEMA; } + | SUBSCRIPTION { $$ = OBJECT_SUBSCRIPTION; } | TABLESPACE { $$ = OBJECT_TABLESPACE; } ; |