Re: running logical replication as the subscription owner
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Jelte Fennema <postgres@jeltef.nl>
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:51:26Z
Lists: pgsql-hackers
On Fri, Mar 24, 2023 at 12:17 PM Jelte Fennema <postgres@jeltef.nl> wrote: > 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 don't think it makes sense for this patch to run around and try to adjust all of those other pages. We have to pick between doing it this way (and thus being inconsistent with what we do elsewhere) or taking that logic out (and taking our chances that something will break for some users). I'm OK with either of those, but I'm not OK with going and changing the way this works in all of the other cases first and only then coming back to this problem. This problem is WAY more important than fiddling with the details of how SECURITY_RESTRICTED_OPERATION is applied. > 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. Yeah, if we stick with the current approach we should probably add tests for that stuff. -- 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 →
-
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