mirror of
https://github.com/postgres/postgres.git
synced 2025-07-08 11:42:09 +03:00
Restart the apply worker if the privileges have been revoked.
Restart the apply worker if the subscription owner's superuser privileges have been revoked. This is required so that the subscription connection string gets revalidated and use the password option to connect to the publisher for non-superusers, if required. Author: Vignesh C Reviewed-by: Amit Kapila Discussion: http://postgr.es/m/CALDaNm2Dxmhq08nr4P6G+24QvdBo_GAVyZ_Q1TcGYK+8NHs9xw@mail.gmail.com
This commit is contained in:
@ -869,7 +869,7 @@ AlterSubscription_refresh(Subscription *sub, bool copy_data,
|
||||
load_file("libpqwalreceiver", false);
|
||||
|
||||
/* Try to connect to the publisher. */
|
||||
must_use_password = !superuser_arg(sub->owner) && sub->passwordrequired;
|
||||
must_use_password = sub->passwordrequired && !sub->ownersuperuser;
|
||||
wrconn = walrcv_connect(sub->conninfo, true, must_use_password,
|
||||
sub->name, &err);
|
||||
if (!wrconn)
|
||||
@ -1249,7 +1249,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt,
|
||||
load_file("libpqwalreceiver", false);
|
||||
/* Check the connection info string. */
|
||||
walrcv_check_conninfo(stmt->conninfo,
|
||||
sub->passwordrequired && !superuser_arg(sub->owner));
|
||||
sub->passwordrequired && !sub->ownersuperuser);
|
||||
|
||||
values[Anum_pg_subscription_subconninfo - 1] =
|
||||
CStringGetTextDatum(stmt->conninfo);
|
||||
|
Reference in New Issue
Block a user