Re: Non-superuser subscription owners
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Mark Dilger <mark.dilger@enterprisedb.com>, Andrew Dunstan
<andrew@dunslane.net>, PostgreSQL-development
<pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2021-11-30T20:42:13Z
Lists: pgsql-hackers
On Tue, 2021-11-30 at 17:25 +0530, Amit Kapila wrote: > I think it would be better to do it before we allow subscription > owners to be non-superusers. There are a couple other things to consider before allowing non- superusers to create subscriptions anyway. For instance, a non- superuser shouldn't be able to use a connection string that reads the certificate file from the server unless they also have pg_read_server_files privs. > Yeah, it is possible that is why I suggested in one of the emails > above to allow changing the owners only for disabled subscriptions. The current patch detects the following cases at the transaction boundary: * ALTER SUBSCRIPTION ... OWNER TO ... * ALTER ROLE ... NOSUPERUSER * privileges revoked one way or another (aside from the RLS/WCO problems, which will be fixed) If we want to detect at row boundaries we need to capture all of those cases too, or else we're being inconsistent. The latter two cannot be tied to whether the subscription is disabled or not, so I don't think that's a complete solution. How about (as a separate patch) we just do maybe_reread_subscription() every K operations within a transaction? That would speed up permissions errors if a revoke happens. Regards, Jeff Davis
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix possible crash in tablesync worker.
- b5c517379a40 16.0 landed
-
Display 'password_required' option for \dRs+ command.
- 19e65dff38bd 16.0 landed
-
Restart the apply worker if the 'password_required' option is changed.
- c1cc4e688b60 16.0 landed
-
Fix possible logical replication crash.
- e7e7da2f8d57 16.0 landed
-
Add new predefined role pg_create_subscription.
- c3afe8cf5a1e 16.0 landed
-
Expand AclMode to 64 bits
- 7b378237aa80 16.0 cited
-
More cleanup of a2ab9c06ea.
- 96a6f11c0625 15.0 landed
-
Respect permissions within logical replication.
- a2ab9c06ea15 15.0 landed
-
Improve table locking behavior in the face of current DDL.
- 2ad36c4e44c8 9.2.0 cited