heroku / heroku/roadmap

[Postgres]: Support logical replication

Open
#38 40 comments 132 reactions 1 assignee Claimed by @jbrown-heroku View on GitHub
Data Proposed
Dominant language
No language data
Stars
225
Forks
19
PR merge metrics
No merged PRs in 30d

Description

### Required Terms

- [X] I agree to follow this project's [Code of Conduct](https://github.com/heroku/roadmap/blob/main/CODE_OF_CONDUCT.md)
- [X] I have read and accept the [Salesforce Program Agreement](https://www.salesforce.com/company/program-agreement/)

### What service(s) is this request for?

Postgres

### Tell us about what you're trying to solve. What challenges are you facing?

```markdown
Logical replication is currently blocking us in two ways:

*Downtime when upgrading Postgres*
Our biggest problem with using Heroku has been upgrading Postgres versions. It is currently impossible to upgrade heroku-hosted Postgres without downtime on the order of several minutes. the recommended way to do this with minimal downtime is:

(1) Provision a Postgres instance with the new postgres version
(2) Logically replicate from the old instance to the new
(3) Very briefly shut everything down, just long enough for any in-flight requests to finish
(4) Wait for follower to catch up (this should be fast)
(5) Promote follower to master
(6) Turn everything back on

Unfortunately (2) is not possible without logical replication.

*"Realtime" subscriptions*

Projects like https://github.com/supabase/realtime offer realtime subscriptions on top of Postgres. But they require a logical replication slot in order to function.
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.