CNPG DB Migration for 1.133.0
I was wondering if there is some insight on how to the DB migration for Kubernetes deployments using CNPG
Any guidance?
This is my Current config:
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: immich-postgres
spec:
# At the time of writing, immich is only compatible with pgvecto.rs <0.4. Latest postgres image with that version is 16.5.
imageName: ghcr.io/tensorchord/cloudnative-pgvecto.rs:16.5-v0.3.0@sha256:be3f025d79aa1b747817f478e07e71be43236e14d00d8a9eb3914146245035ba
instances: 1
postgresql:
shared_preload_libraries:
- "vectors.so"
managed:
roles:
- name: immich
superuser: true
login: true
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 400m
bootstrap:
initdb:
database: immich
owner: immich
postInitSQL:
- CREATE EXTENSION IF NOT EXISTS "vectors";
- CREATE EXTENSION IF NOT EXISTS "cube" CASCADE;
- CREATE EXTENSION IF NOT EXISTS "earthdistance" CASCADE;
storage:
size: 4Gi
monitoring:
enablePodMonitor: true
7 Replies
:wave: Hey @ebass42,
Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:.
References
- Container Logs:
docker compose logs
docs
- Container Status: docker ps -a
docs
- Reverse Proxy: https://immich.app/docs/administration/reverse-proxy
- Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA
Checklist
I have...
1. :blue_square: verified I'm on the latest release(note that mobile app releases may take some time).
2. :blue_square: read applicable release notes.
3. :blue_square: reviewed the FAQs for known issues.
4. :blue_square: reviewed Github for known issues.
5. :blue_square: tried accessing Immich via local ip (without a custom reverse proxy).
6. :blue_square: uploaded the relevant information (see below).
7. :blue_square: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable
(an item can be marked as "complete" by reacting with the appropriate number)
Information
In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:
- Your docker-compose.yml and .env files.
- Logs from all the containers and their status (see above).
- All the troubleshooting steps you've tried so far.
- Any recent changes you've made to Immich or your system.
- Details about your system (both software/OS and hardware).
- Details about your storage (filesystems, type of disks, output of commands like fdisk -l
and df -h
).
- The version of the Immich server, mobile app, and other relevant pieces.
- Any other information that you think might be relevant.
Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)
If this ticket can be closed you can use the /close
command, and re-open it later if needed.I tried upgrading the CNPG from ghcr.io/tensorchord/cloudnative-pgvecto.rs:16-v0.3.0 to ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0 (because you need bot vchord and pgvecto.rs), but that failed booting the cluster. I suppose we need an image from here: https://github.com/tensorchord/cloudnative-vectorchord/pkgs/container/cloudnative-vectorchord
But it does not include pgvecto.rs
@ebass42 I managed to upgrade. Just follow the instruction and run the scripts appropriately.
Ultimately I now use this image:
images:
- name: ghcr.io/tensorchord/cloudnative-vectorchord
newTag: 16.9-0.3.0
Thanks for your response. Let’s see if can manage later today.
With script you mean the manual script after this?
„
If it is not possible to have both VectorChord and pgvecto.rs installed at the same time, you can perform the migration with more manual steps“
So you changed the image of your cluster replaced the shared library config with vectorchord?
yes, you have to run 2 scripts before upgrading the image
then use the image I shared. then run the remainder of scripts
Worked, there was some instability at first but then it worked. Thanks again!
Just to add to this, don't forget to update
shared_preload_libraries
to use vchord.so
instead of vectors.so
in the Cluster manifest when switching to the cloudnative-vectorchord
image, otherwise your cluster won't be able to start.