Re: running logical replication as the subscription owner
Jelte Fennema <postgres@jeltef.nl>
From: Jelte Fennema <postgres@jeltef.nl>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Jeff Davis <pgsql@j-davis.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>,
Andres Freund <andres@anarazel.de>, Noah Misch <noah@leadboat.com>
Date: 2023-03-24T16:16:56Z
Lists: pgsql-hackers
> Some concern was expressed -- not sure exactly where the email is > exactly, and it might've been on pgsql-security -- that doing that > categorically might break things that are currently working. The > people who were concerned included Andres and I forget who else. My > gut reaction was the same as yours, just do it always and don't worry > about it. But if people think that users are likely to run afoul of > the SECURITY_RESTRICTED_OPERATION restrictions in practice, then this > is better, and the implementation complexity isn't high. We could even > think of extending this kind of logic to other places where > SECURITY_RESTRICTED_OPERATION is enforced, if desired. I personally cannot think of a reasonable example that would be broken, but I agree the code is simple enough. I do think that if there is an actual reason to do this, we'd probably want it in other places where SECURITY_RESTRICTED_OPERATION is enforced too. I think there's some important tests missing related to this: 1. Ensuring that SECURITY_RESTRICTED_OPERATION things are enforced when the user **does not** have SET ROLE permissions to the subscription owner, e.g. don't allow SET ROLE from a trigger. 2. Ensuring that SECURITY_RESTRICTED_OPERATION things are not enforced when the user **does** have SET ROLE permissions to the subscription owner, e.g. allows SET ROLE from trigger. Finally a small typo in the one of the comments: > + * If we created a new GUC nest level, also role back any changes that were s/role/roll/
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Honor run_as_owner option in tablesync worker.
- a83edeaf684a 16.0 landed
-
Document new pg_subscription columns.
- bc25d6c54a00 16.0 landed
-
Add a run_as_owner option to subscriptions.
- 482675987bcd 16.0 landed
-
Perform logical replication actions as the table owner.
- 1e10d49b65d6 16.0 landed
-
Add new predefined role pg_create_subscription.
- c3afe8cf5a1e 16.0 cited
-
Respect permissions within logical replication.
- a2ab9c06ea15 15.0 cited
-
Empty search_path in logical replication apply worker and walsender.
- 11da97024abb 14.0 cited
-
Empty search_path in Autovacuum and non-psql/pgbench clients.
- 582edc369cdb 11.0 cited