Skip to content

Commit ac5986b

Browse files
brainrakeclaude
andcommitted
docs(nix): clarify how a glibc bump affects collation versions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 0c43569 commit ac5986b

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

‎flake.nix‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
# for extensions that require older package versions
2828
nixpkgs-oldstable.url = "github:NixOS/nixpkgs/a76c4553d7e741e17f289224eda135423de0491d";
2929
# Postgres, its extensions, and anything else loaded into the postgres
30-
# process stay on glibc 2.40. A glibc bump changes the libc collation
31-
# version of every existing database.
30+
# process stay on glibc 2.40. Postgres warns when the running glibc's
31+
# collation version differs from the one stored in each database.
3232
nixpkgs-pg17.url = "https://releases.nixos.org/nixos/unstable/nixos-26.05pre921484.fb7944c166a3/nixexprs.tar.xz?rev=fb7944c166a3b630f177938e478f0378e64ce108";
3333
nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz";
3434
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";

‎nix/docs/updating-dependencies.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Similar patterns can be followed for other dependencies defined in the nix packa
7272

7373
The flake uses two nixpkgs inputs:
7474

75-
- `nixpkgs-pg17` pins the nixpkgs that builds Postgres, every extension, and anything loaded into the postgres process, such as `supabase-groonga` and the `gatekeeper` PAM module. It pins glibc 2.40. A glibc change bumps the libc collation version of every existing database, so leave this input alone unless you plan that migration. Code built against a newer glibc fails to load into a postgres process running an older one.
75+
- `nixpkgs-pg17` pins the nixpkgs that builds Postgres, every extension, and anything loaded into the postgres process, such as `supabase-groonga` and the `gatekeeper` PAM module. It pins glibc 2.40. After a glibc change, Postgres warns that the running collation version differs from the one stored in each database. Leave this input alone unless you plan that migration. Code built against a newer glibc fails to load into a postgres process running an older one.
7676
- `nixpkgs` tracks the current NixOS stable channel and builds everything else. Update it with `nix flake update nixpkgs`. When the stable release changes, also move `nix-darwin` to the matching `nix-darwin-YY.MM` branch.
7777

7878
After an update, check that every Postgres output keeps its drvPath, for example `nix eval --raw .#packages.x86_64-linux."psql_17/bin".drvPath`.

0 commit comments

Comments
 (0)