immich の DB を immich-app/postgres に変更する
immich の db として tensorchord/pgvecto-rs の image を利用していたのですが,immich-app/postgres がリリースされていたのでこちらに変更します.
helmfile でセットアップしていたので values.yaml を変更します. 利用している Chart は bitnami/postgresql です. releases も追加して postgres が 2 つ立っている状態にします.
image: registry: ghcr.io repository: immich-app/postgres tag: 14-vectorchord0.4.3-pgvectors0.2.0extraEnvVars: - name: DB_STORAGE_TYPE value: "HDD"一応 scale しておきます.
kubectl -n immich scale deployment immich-machine-learning --replicas 0kubectl -n immich scale deployment immich-server --replicas 0backup
Section titled “backup”Pod が上がったら pg_dump します.
$ kubectl exec -i -n immich postgresql-0 -- pg_dump --clean --if-exists --dbname=immich --username=immich | gzip > dump.sql.gzrestore
Section titled “restore”新しい postgres に restore します.
$ gunzip --stdout dump.sql.gz \ | sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \ | kubectl exec -i -n immich pgvectors-postgresql-0 -- \ psql --dbname=immich \ --username=immich \ --single-transaction \ --set ON_ERROR_STOP=onDB_HOSTNAME 環境変数で新しい方を向くように変更します.
env: DB_HOSTNAME: pgvecto-rs-postgresql