docs/updating-postgres.md
When upgrading to a new minor version of Postgres, please follow these steps:
Example: 15.4 is the new minor version to upgrade to from 15.3.
Clone the Neon Postgres repository if you have not done so already.
git clone [email protected]:neondatabase/postgres.git
Add the Postgres upstream remote.
git remote add upstream https://git.postgresql.org/git/postgresql.git
Create a new branch based on the stable branch you are updating.
git checkout -b my-branch-15 REL_15_STABLE_neon
Find the upstream release tags you're looking for. They are of the form REL_X_Y.
Merge the upstream tag into the branch you created on the tag and resolve any conflicts.
git fetch upstream REL_15_4
git merge REL_15_4
In the commit message of the merge commit, mention if there were any non-trivial conflicts or other issues.
Run the Postgres test suite to make sure our commits have not affected Postgres in a negative way.
make check
# OR
meson test -C builddir
Push your branch to the Neon Postgres repository.
git push origin my-branch-15
Clone the Neon repository if you have not done so already.
git clone [email protected]:neondatabase/neon.git
Create a new branch.
Change the revisions.json file to point at the HEAD of your Postgres
branch.
Update the Git submodule.
git submodule set-branch --branch my-branch-15 vendor/postgres-v15
git submodule update --remote vendor/postgres-v15
Run the Neon test suite to make sure that Neon is still good to go on this minor Postgres release.
./scripts/poetry -k pg15
Commit your changes.
Create a pull request, and wait for CI to go green.
Push the Postgres branches with the merge commits into the Neon Postgres repository.
git push origin my-branch-15:REL_15_STABLE_neon
Update your Neon PR to point at the branches.
git submodule set-branch --branch REL_15_STABLE_neon vendor/postgres-v15
git commit --amend --no-edit
git push --force origin
Merge the pull request after getting approval(s) and CI completion.