aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/replication/libpqwalreceiver/libpqwalreceiver.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
index 78344a03615..ead30f87c96 100644
--- a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
+++ b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
@@ -138,6 +138,15 @@ libpqrcv_connect(const char *conninfo, bool logical, bool must_use_password,
int i = 0;
/*
+ * Re-validate connection string. The validation already happened at DDL
+ * time, but the subscription owner may have changed. If we don't recheck
+ * with the correct must_use_password, it's possible that the connection
+ * will obtain the password from a different source, such as PGPASSFILE or
+ * PGPASSWORD.
+ */
+ libpqrcv_check_conninfo(conninfo, must_use_password);
+
+ /*
* We use the expand_dbname parameter to process the connection string (or
* URI), and pass some extra options.
*/