Re: Non-superuser subscription owners
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Jeff Davis <pgsql@j-davis.com>,
Mark Dilger <mark.dilger@enterprisedb.com>, Andrew Dunstan <andrew@dunslane.net>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-12-09T15:41:21Z
Lists: pgsql-hackers
On Tue, Nov 30, 2021 at 6:55 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > This patch does detect ownership changes more quickly (at the > > transaction boundary) than the current code (only when it reloads for > > some other reason). Transaction boundary seems like a reasonable time > > to detect the change to me. > > > > Detecting faster might be nice, but I don't have a strong opinion about > > it and I don't see why it necessarily needs to happen before this patch > > goes in. > > I think it would be better to do it before we allow subscription > owners to be non-superusers. I think it would be better not to ever do it at any time. It seems like a really bad idea to me to change the run-as user in the middle of a transaction. That seems prone to producing all sorts of confusing behavior that's hard to understand, and hard to test. So what are we to do if a change occurs mid-transaction? I think we can either finish replicating the current transaction and then switch to the new owner for the next transaction, or we could abort the current attempt to replicate the transaction and retry the whole transaction with the new run-as user. My guess is that most users would prefer the former behavior to the latter. -- Robert Haas EDB: http://www.enterprisedb.com
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