Here are some comments for patch v2-0001.
======
src/backend/replication/logical/worker.c
1. maybe_reread_subscription
ereport(LOG,
(errmsg("logical replication worker for subscription \"%s\"
will restart because of a parameter change",
MySubscription->name)));
Is this really a "parameter change" though? It might be a stretch to
call the user role change a subscription parameter change. Perhaps
this case needs its own LOG message?
======
src/include/catalog/pg_subscription.h
2.
char *origin; /* Only publish data originating from the
* specified origin */
+ bool isownersuperuser; /* Is subscription owner superuser? */
} Subscription;
Is a new Subscription field member really necessary? The Subscription
already has 'owner' -- why doesn't function
maybe_reread_subscription() just check:
(!superuser_arg(sub->owner) && superuser_arg(MySubscription->owner))
======
src/test/subscription/t/027_nosuperuser.pl
3.
# The apply worker should get restarted after the superuser prvileges are
# revoked for subscription owner alice.
typo
/prvileges/privileges/
~
4.
+# After the user becomes non-superuser the apply worker should be restarted and
+# it should fail with 'password is required' error as password option is not
+# part of the connection string.
/as password option/because the password option/
======
Kind Regards,
Peter Smith.
Fujitsu Australia.