title |
---|
Google CloudSQL Postgres Source Setup Guide |
import SSHTunnel from '/snippets/ssh-tunnel.mdx';
Anything on or after Postgres 12
You don't need to follow the below steps if the settings cloudsql. logical_decoding
is on and wal_sender_timeout
is 0. These settings should mostly be pre-configured if you are migrating from another data replication tool.
- Click on Edit button on the Overview page.
- Go to Flags and change
cloudsql.logical_decoding
to on andwal_sender_timeout
to 0. These changes will need restarting your Postgres server.
If you are using PeerDB Cloud, please follow the below steps to add PeerDB IPs to your network.
- Go to Connections section
- Go to the Networking subsection
Connect to your CloudSQL Postgres through the admin user and run the below commands:
-
Create a Postgres user for exclusively PeerDB.
-
CREATE USER peerdb_user PASSWORD 'some-password';
-
-
Provide read-only access to the schema from which you are replicating tables to the
peerdb-user
. Below example shows setting up permissions for thepublic
schema. If you want to grant access to multiple schemas, you can run these three commands for each schema.-
GRANT USAGE ON SCHEMA "public" TO peerdb_user; GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO peerdb_user; ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO peerdb_user;
-
-
Grant replication access to this user:
-
ALTER ROLE peerdb_user REPLICATION;
-
-
Create a publication that you'll be using for creating the MIRROR (replication) in future.
-
CREATE PUBLICATION peerdb_publication FOR TABLE table1, table2, table3....;
-
Through the PeerDB UI, create the CloudSQL Peer using the peerdb_user
that you created in the previous step.