chore: upgrade default postgres to 16 and remove upgrade script

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
This commit is contained in:
Chinmay D. Pai 2024-10-06 00:00:36 +05:30
parent 9404b4e71d
commit a6805a4ddc
Signed by: thunderbottom
GPG Key ID: 75507BE256F40CED
2 changed files with 2 additions and 37 deletions

View File

@ -9,12 +9,11 @@
package = lib.mkOption { package = lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = pkgs.postgresql_14; default = pkgs.postgresql_16;
description = "Package to use as a root directory for the static site"; description = "Package to use for the PostgreSQL service";
}; };
backup.enable = lib.mkEnableOption "Enable backup service for postgresql databases"; backup.enable = lib.mkEnableOption "Enable backup service for postgresql databases";
upgrade.enable = lib.mkEnableOption "Enable upgrade-pg-cluster script for postgresql";
}; };
config = let config = let
@ -60,38 +59,5 @@
echo ${curFile} echo ${curFile}
''; '';
}; };
# NOTE: login with `sudo su -` and run `upgrade-pg-cluster` to perform
# the upgrade. Ensure that you run `VACUUMDB` commands after the upgrade,
# and then update the postgres package version in the service config.
environment.systemPackages = lib.mkIf cfg.upgrade.enable [
(let
newPostgres = pkgs.postgresql_16.withPackages (ps: [
# Immich requires pgvecto-rs
ps.pgvecto-rs
]);
in
pkgs.writeScriptBin "upgrade-pg-cluster" ''
set -eux
# It's perhaps advisable to stop all services that depend on postgresql
systemctl stop postgresql
export NEWDATA="/var/lib/postgresql/${newPostgres.psqlSchema}"
export NEWBIN="${newPostgres}/bin"
export OLDDATA="${config.services.postgresql.dataDir}"
export OLDBIN="${config.services.postgresql.package}/bin"
install -d -m 0700 -o postgres -g postgres "$NEWDATA"
cd "$NEWDATA"
sudo -u postgres $NEWBIN/initdb -D "$NEWDATA"
sudo -u postgres $NEWBIN/pg_upgrade \
--old-datadir "$OLDDATA" --new-datadir "$NEWDATA" \
--old-bindir $OLDBIN --new-bindir $NEWBIN \
"$@"
'')
];
}; };
} }

View File

@ -143,7 +143,6 @@
postgresql = { postgresql = {
enable = true; enable = true;
backup.enable = true; backup.enable = true;
upgrade.enable = true;
}; };
vaultwarden = { vaultwarden = {