Plans for logical replication?

Are there any plans to introduce logical replication?

I’m doing some goofy stuff with Postgres by listening to the WAL in my application (main reason are the limitations to Postgres listen/subscribe) using Elixir (Erlang). I basically ripped out the listener code from Supabase’s Realtime backend to a stand-alone library and am using this alongside Hasura: GitHub - cpursley/walex: Listen to Postgres change events

I understand it’s probably not high priority but would be really nice to see and would also allow Supabase (similar backend as a service space as Hasura) to run on Neon.

Short answer: It is on the roadmap, but don’t expect it this year. I think it’s planned after we support read replicas, which again is planned after branching.

Long answer: We are planning on supporting it, but there are still various issues we need to solve before we can support logical replication.
One issue is that we don’t keep the original WAL stream of a PostgreSQL compute instance for our persistence model - it is parsed, processed, and reordered. For logical replication to work, we still need access to all of the original WAL stream for parsing, and we don’t currently have a system in place that can ensure that the logical decoder has access to all necessary data of the original WAL stream.

4 Likes

@Matthias Could you give us an update on this because branching and read replicas are live? :slight_smile:

1 Like

Any update on replication support?

Tools like Supabase and Debezium require the ability to subscribe to WAL change publications.