Re: Added schema level support for publication.
Mark Dilger <mark.dilger@enterprisedb.com>
From: Mark Dilger <mark.dilger@enterprisedb.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
"tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>,
Greg Nancarrow <gregn4422@gmail.com>,
Ajin Cherian <itsajin@gmail.com>,
"houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>,
Rahila Syed <rahilasyed90@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Date: 2021-08-11T14:15:38Z
Lists: pgsql-hackers
> On Aug 10, 2021, at 10:59 PM, vignesh C <vignesh21@gmail.com> wrote: > > Also, the behavior of "Alter publication drop table" for which the > user is not the owner is successful, Is this behavior correct? I think that dropping a table from a publication should be allowed for the publication owner, without regard to the owner of the table. Adding a table to a publication is different, as it exposes the contents of the table. Consider the following: +create user user1; +create user user2; +create table tbl1(c1 int); +create table tbl2(c1 int); +create publication pub1 for table tbl1,tbl2; +WARNING: wal_level is insufficient to publish logical changes +HINT: Set wal_level to logical before creating subscriptions. +alter table tbl1 owner to user1; +alter publication pub1 owner to user1; +alter table tbl2 owner to user2; +SET SESSION AUTHORIZATION user2; +alter publication pub1 drop table tbl1; +ERROR: must be owner of publication pub1 +alter publication pub1 drop table tbl2; +ERROR: must be owner of publication pub1 +alter publication pub1 add table tbl1; +ERROR: must be owner of publication pub1 +alter publication pub1 add table tbl2; +ERROR: must be owner of publication pub1 +RESET SESSION AUTHORIZATION; +SET SESSION AUTHORIZATION user1; +alter publication pub1 drop table tbl1; +alter publication pub1 drop table tbl2; +alter publication pub1 add table tbl1; +alter publication pub1 add table tbl2; +ERROR: must be owner of table tbl2 Clearly user2 cannot modify pub1, not even with respect to user2's own table. user1 can modify its own publication except for adding someone else's table. This seems correct to me. — Mark Dilger EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Include schema/table publications even with exclude options in dump.
- 4aa6fa3cd0a2 18.0 landed
-
Rename some enums to use TABLE instead of REL.
- b3812d0b9bcf 15.0 landed
-
Add tap tests for the schema publications.
- 6b0f6f79eef2 15.0 landed
-
Allow publishing the tables of schema.
- 5a2832465fd8 15.0 landed
-
In pg_dump, use simplehash.h to look up dumpable objects by OID.
- 92316a4582a5 15.0 cited