The subconninfo column of the pg_subscription catalog table contains the sensitive connection information needed to establish a logical replication subscription. According to the documentation:
Access to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.
In Google Cloud Platform's CloudSQL, this column is not accessible at all, as mentioned in their documentation here
Limitations on native PostgreSQL logical replication
Access to the subconninfo column of the pg_subscription system table is unavailable.
This limitation may exist in other cloud providers as well.
As a result, the postgresql_subscription module is unable to manage subscriptions in CloudSQL, as the query of the pg_subscription catalog in function __get_general_subscr_info fails.
MacOS 14.6.1 and AWX 21.8.0
This is reproducible on managed databases where we are connecting via host/port, so the OS details are not particularly relevant.
STEPS TO REPRODUCE
Create a subscription where the login_user does not have access to the subconninfo column of pg_catalog.pg_subscription
SUMMARY
The
subconninfo
column of thepg_subscription
catalog table contains the sensitive connection information needed to establish a logical replication subscription. According to the documentation:In Google Cloud Platform's CloudSQL, this column is not accessible at all, as mentioned in their documentation here
This limitation may exist in other cloud providers as well.
As a result, the
postgresql_subscription
module is unable to manage subscriptions in CloudSQL, as the query of thepg_subscription
catalog in function__get_general_subscr_info
fails.ISSUE TYPE
COMPONENT NAME
postgresql_subscription
ANSIBLE VERSION
COLLECTION VERSION
CONFIGURATION
OS / ENVIRONMENT
MacOS 14.6.1 and AWX 21.8.0 This is reproducible on managed databases where we are connecting via host/port, so the OS details are not particularly relevant.
STEPS TO REPRODUCE
Create a subscription where the
login_user
does not have access to thesubconninfo
column ofpg_catalog.pg_subscription
EXPECTED RESULTS
Subscription is created as expected
ACTUAL RESULTS