apps/docs/content/guides/database/replication/manual-replication-setup.mdx
This guide covers setting up manual logical replication using your own tools. If you prefer a managed solution, read Set up Pipelines instead.
<Admonition type="note">This guide is for replicating data to destination systems using your own tools. For deploying read-only databases across multiple regions, see read replicas instead.
</Admonition>To set up replication, the following is recommended:
To create a replication slot, you will need to use the postgres user and follow the instructions in the logical replication example.
If you are running Postgres 17 or higher, you can create a new user and grant them replication permissions with the postgres user. For versions below 17, you will need to use the postgres user.
If you are replicating to a destination system and using any of the tools below, check their documentation first. Additional information is provided where the setup with Supabase can vary.
<Tabs scrollable size="small" type="underlined" defaultActiveId="estuary" queryGroup="tool"
<TabPanel id="airbyte" label="Airbyte">
Airbyte has the following documentation for setting up Postgres as a source, either in their cloud offering or by self-hosting.
You can follow those steps with the following modifications:
postgres userlogical replication as the replication method (xmin is possible, but not recommended)Fivetran has the following documentation for setting up Postgres as a source.
You can follow those steps with the following modifications:
logical replication as the sync mechanismpostgres user for replicationMaterialize has the following documentation on setting up Postgres as a source.
You can follow those steps with the following modifications:
Stitch has the following documentation on configuring Postgres as a source.
You can follow those steps with the following modifications:
postgres user for replicationAWS DMS has the following documentation 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:
postgres user for replication (or create a new user with replication permissions: ALTER USER <user> WITH REPLICATION;)pluginname to test-decodingwal_sender_timeout and other settings (max_wal_size) using the Supabase CLI