title |
---|
RDS 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 rds.logical_replication
is 1 and wal_sender_timeout
is 0. These settings should mostly be pre-configured if you are migrating from another data replication tool.
-
Create a new parameter group for your Postgres version with
rds.logical_replication
set to 1; andwal_sender_timeout
set to 0. -
Modify the RDS Postgres database by adding the new parameter group.
-
Reboot your RDS Postgres database for the above parameters to kick in.
Connect to your RDS postgres through the admin user and run the below commands:
-
Create a Postgres user exclusively for PeerDB.
-
CREATE USER peerdb_user PASSWORD 'some-password';
-
-
Grant read-only access to the schema from which you are replicating tables to
peerdb-user
. Below example shows granting 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:
-
GRANT rds_replication TO peerdb_user ;
-
-
Create a publication that you'll be using for creating the MIRROR (replication) in future. It's recommended to create a publication for only the tables that you want to replicate, like below:
-
CREATE PUBLICATION peerdb_publication FOR TABLE table1, table2, table3....;
-
If you are using PeerDB Cloud safelist public IPs of your PeerDB Cloud instance by editing the Inbound rules
of the Security group
in which your RDS Postgres is located.
Through the PeerDB UI, create the RDS Postgres Peer using the peerdb_user
that you created in the previous step.