Major version upgrades
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- postgresql
- Domain
- databases
Research direction
Start with the PostgreSQL 13 upgrading documentation linked in the issue and review the proposed snapshot-restore sequence. The issue names no repository files or tests; define the orchestration scope and acceptance criteria for restoring a snapshot into a new app before implementation.
Written by the indexing model from the issue text.
Description
Major upgrades
For major releases of PostgreSQL, the internal data storage format is subject to change, thus complicating upgrades. The traditional method for moving data to a new major version is to dump and reload the database, though this can be slow. A faster method is pg_upgrade.
Generally speaking, it’s a bad idea to perform in-place upgrades across major versions. I think we should heavily consider allowing users to restore a snapshot into a new app. I think this is relatively common practice across vendors and would provide a safe passage for users to test the new version against their dataset, client, etc. before fully committing.
I think there are quite a few ways we could do this, but here's a rough example of what this process could look like:
- Provision a new app.
- Provision and attach a new volume that meets the size constraints specified by the target snapshot.
- Provision and attach a second "source" volume containing the restore data.
- Issue a pg_dump on the source volume and work to perform the upgrade process outlined here: https://www.postgresql.org/docs/13/upgrading.html
- Detach the source volume
It certainly requires some orchestration, so not sure how feasible this process will be in the short-to-medium term.
Reference: https://www.postgresql.org/docs/13/upgrading.html
- Dominant language
- Go
- Stars
- 332
- Forks
- 123
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fly-apps/postgres-ha
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
fly-apps/postgres-ha#111 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
fly-apps/postgres-ha#96 · 4 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
fly-apps/postgres-ha#92 · 3 comments · 5 reactions ·
-
Postgres 15 Open
Difficulty 3/5 1-2 days Newbie friendliness 35/100
fly-apps/postgres-ha#88 · 7 comments · 12 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
fly-apps/postgres-ha#65 ·
All issues in fly-apps/postgres-ha
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100