diff --git a/apps/docs/content/guides/database/postgres/setup-replication-external.mdx b/apps/docs/content/guides/database/postgres/setup-replication-external.mdx index 99953937304..797a8257c70 100644 --- a/apps/docs/content/guides/database/postgres/setup-replication-external.mdx +++ b/apps/docs/content/guides/database/postgres/setup-replication-external.mdx @@ -23,11 +23,11 @@ CREATE PUBLICATION example_pub; select pg_create_logical_replication_slot('example_slot', 'pgoutput'); ``` -3. Now we will connect to our **external database** and subscribe to our `publication` Note: ): +3. Now connect to your **external database** and subscribe to the `publication` - + -This will need a **direct** connection (not a Connection Pooler) to your database and you can find the connection info in the [**Connect** panel](/dashboard/project/_?showConnect=true) in the `Direct connection` section. +This needs a **direct** connection (not a Connection Pooler) to your database and you can find the connection info in the [**Connect** panel](/dashboard/project/_?showConnect=true) in the `Direct connection` section. You will also need to ensure that IPv6 is supported by your replication destination (or you can enable the [IPv4 add-on](/docs/guides/platform/ipv4-address)) @@ -42,6 +42,13 @@ PUBLICATION example_pub WITH (copy_data = true, create_slot=false, slot_name=example_slot); ``` + + +For projects running Postgres 17+, it is possible to subscribe to a [Read +Replica](/docs/guides/platform/read-replicas) by using your Read Replica's connection string. + + + `create_slot` is set to `false` because `slot_name` is provided and the slot was already created in Step 2. diff --git a/apps/docs/content/guides/database/replication/manual-replication-setup.mdx b/apps/docs/content/guides/database/replication/manual-replication-setup.mdx index 4a0fe678ff4..8cffca0e668 100644 --- a/apps/docs/content/guides/database/replication/manual-replication-setup.mdx +++ b/apps/docs/content/guides/database/replication/manual-replication-setup.mdx @@ -6,7 +6,7 @@ subtitle: 'Set up replication with Airbyte, Estuary, Fivetran, and other tools.' sidebar_label: 'Setting up' --- -This guide covers setting up **manual replication** using external tools. If you prefer a simpler, managed solution, see [Replication](/docs/guides/database/replication/replication-setup) instead. +This guide covers setting up **manual logical replication** using external tools. If you prefer a simpler, managed solution, read [the Replication setup docs](/docs/guides/database/replication/replication-setup) instead. @@ -92,4 +92,19 @@ You can follow those steps with the following modifications: + + +AWS DMS has the following [documentation](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) on configuring Postgres as a source. + +DMS is notably useful if you have infrastructure running in AWS and/or you have custom networking. An additional benefit is that DMS is able to replicate schema changes. + +You can follow those steps with the following modifications: + +1. Use the `postgres` user for replication (or create a new user with replication permissions: `ALTER USER WITH REPLICATION;`) +2. Set `pluginname` to `test-decoding` +3. Depending on your databases the pre-assessment may fail. It is not required. +4. Increase `wal_sender_timeout` and other settings (`max_wal_size`) using the [Supabase CLI](/docs/guides/platform/custom-postgres-config) + + +