
pglogical
현재 지역 간에 데이터를 빠르게 마이그레이션하기 위해 2개의 GCP CloudSQL Postgres 인스턴스 간에 복제를 설정하려고 합니다 .
replicator
사용자를 생성하고 해당 사용자로 확장 프로그램을 설치하고 pglogical
필요한 구성을 수행하여 GCP 문서[1]를 따랐습니다 .
그러나 대상 서비스에서 구독을 생성할 때마다 처음에는 상태가 다음과 같이 변경된 initializing
후 down. Looking at the
postgres 로그로 변경됩니다. 대상 측에서 다음 오류를 볼 수 있습니다.
db=api,user=replicator ERROR: permission denied for function pg_replication_origin_session_setup
언급된 기능이 대상 DB에 보이는데, 해당 GRANT EXECUTE
기능을 시도할 때마다 아래와 같은 경고가 뜹니다.
postgres=> \df+ pg_replication_origin_session_setup
List of functions
Schema | Name | Result data type | Argument data types | Type | Volatility | Parallel | Owner | Securi
ty | Access privileges | Language | Source code | Description
------------+-------------------------------------+------------------+---------------------+------+------------+----------+---------------+-------
---+-----------------------------------+----------+-------------------------------------+---------------------------------------------------------
-----------------------------
pg_catalog | pg_replication_origin_session_setup | void | text | func | volatile | unsafe | cloudsqladmin | invoke
r | cloudsqladmin=X/cloudsqladmin +| internal | pg_replication_origin_session_setup | configure session to maintain replication progress track
ing for the passed in origin
| | | | | | | |
| cloudsqlsuperuser=X/cloudsqladmin | | |
(1 row)
postgres=> \du replicator
List of roles
Role name | Attributes | Member of
------------+-------------+---------------------
replicator | Replication | {cloudsqlsuperuser}
postgres=> GRANT EXECUTE ON FUNCTION pg_catalog.pg_replication_origin_session_setup TO replicator;
WARNING: no privileges were granted for "pg_replication_origin_session_setup"
GRANT
pglogical
이전에 CloudSQL을 설정할 수 있었던 사람이 있나요 ? 아니면 위의 permission denied
오류가 표시됩니까?
미리 감사드립니다.
개빈