
Ich versuche derzeit, die Replikation zwischen zwei GCP CloudSQL Postgres-Instanzen einzurichten pglogical
, um Daten schnell zwischen Regionen zu migrieren.
Ich bin den GCP-Dokumenten[1] gefolgt, indem ich einen replicator
Benutzer erstellt, die pglogical
Erweiterung als dieser Benutzer installiert und die erforderliche Konfiguration durchgeführt habe.
Wenn ich jedoch das Abonnement beim Zieldienst erstelle, wechselt der Status zunächst zu initializing
und dann zu down. Looking at the
„postgres‘ logs“. Auf der Zielseite wird mir der folgende Fehler angezeigt:
db=api,user=replicator ERROR: permission denied for function pg_replication_origin_session_setup
Ich kann die erwähnte Funktion in der Zieldatenbank sehen, aber immer wenn ich versuche, GRANT EXECUTE
sie aufzurufen, erhalte ich die folgende Warnung.
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
Konnte jemand die Einrichtung pglogical
zuvor auf CloudSQL durchführen? Oder ist ihm der obige permission denied
Fehler aufgefallen?
Vielen Dank im Voraus.
Gavin