I
Immich•6d ago
Cerberus

Failed update

I just updated my version of immich but the server wont restart. getting this error message The data directory was initialized by PostgreSQL version 14, which is not compatible with this version 16.8 (Debian 16.8-1.pgdg120+1).
45 Replies
Immich
Immich•6d ago
:wave: Hey @Cerberus, 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. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: 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.
Daniel
Daniel•6d ago
You shouldn't just upgrade major postgres versions. Please read the release notes more carefully to follow them correctly
Cerberus
CerberusOP•6d ago
It was a minor update and there wasn't a breaking bug on the notes
Cerberus
CerberusOP•6d ago
yes I had already upgraded to 1.133.0 and it was working I had made the changes
bo0tzz
bo0tzz•6d ago
You're using the wrong version of the postgres image
Daniel
Daniel•6d ago
Then you must've changed your postgres image later on
Cerberus
CerberusOP•6d ago
havent changed anything
Daniel
Daniel•6d ago
It clearly says that you were using pg 14 and now you're on pg16.8
bo0tzz
bo0tzz•6d ago
Please post the info requested by the bot
Cerberus
CerberusOP•6d ago
updated to 1.133.0 made changes sever worked ran update for 1.134.0 and it stop working
Mraedis
Mraedis•6d ago
The default before was pg14, in the example on the release notes it listed pg16 ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0 you should be using: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 Note the slight difference
Cerberus
CerberusOP•6d ago
I made the changes in the release notes though for the update to 1.133.0
Daniel
Daniel•6d ago
Not in the example; in the "if you're doing non-default things" section
Mraedis
Mraedis•6d ago
Also in the example until Zack changed it you mean 😛 Just show us your compose
Daniel
Daniel•6d ago
Kind of, true
Cerberus
CerberusOP•6d ago
database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' that's my section there
Mraedis
Mraedis•6d ago
Says pg 16 right there now doesn't it and you were using pg14 before updating
Cerberus
CerberusOP•6d ago
but it was saying that on when i updated to 1.133.0 that line was running on the pervious update
Daniel
Daniel•6d ago
That is impossible
Cerberus
CerberusOP•6d ago
well it was working lol that line wasnt changed now for this update it was changed for the last one
Daniel
Daniel•6d ago
Then you didn't docker compose up -d or something and it didn't apply
Cerberus
CerberusOP•6d ago
well I did........
Daniel
Daniel•6d ago
If this change applied 1.133.0 would not have started Because it's not Immich that isn't starting, it's your database Well, Immich also isn't starting, but that's a result of it
Cerberus
CerberusOP•6d ago
so then how do I fix it?
Daniel
Daniel•6d ago
Change pg16 to pg14
Cerberus
CerberusOP•6d ago
now the server is failing to start do i need to roll back to 1.133.0?
Daniel
Daniel•6d ago
Nope Logs would be helpful
Cerberus
CerberusOP•6d ago
[Nest] 8 - 05/31/2025, 10:14:34 PM WARN [Microservices:DatabaseService] Could not run vector reindexing checks. If the extension was updated, please restart the Postgres instance. If you are upgrading directly from a version below 1.107.2, please upgrade to 1.107.2 first. PostgresError: could not access file "$libdir/vchord": No such file or directory at ErrorResponse (/usr/src/app/node_modules/postgres/cjs/src/connection.js:790:26) at handle (/usr/src/app/node_modules/postgres/cjs/src/connection.js:476:6) at Socket.data (/usr/src/app/node_modules/postgres/cjs/src/connection.js:315:9) at Socket.emit (node:events:518:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) at TCP.onStreamRead (node:internal/stream_base_commons:189:23) { severity_local: 'ERROR', severity: 'ERROR', code: '58P01', file: 'dfmgr.c', line: '208', routine: 'internal_load_library' } microservices worker error: PostgresError: could not access file "$libdir/vchord": No such file or directory, stack: PostgresError: could not access file "$libdir/vchord": No such file or directory at ErrorResponse (/usr/src/app/node_modules/postgres/cjs/src/connection.js:790:26) at handle (/usr/src/app/node_modules/postgres/cjs/src/connection.js:476:6) at Socket.data (/usr/src/app/node_modules/postgres/cjs/src/connection.js:315:9) at Socket.emit (node:events:518:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) at TCP.onStreamRead (node:internal/stream_base_commons:189:23) microservices worker exited with code 1 Killing api process
Daniel
Daniel•6d ago
Which image did you use?
Cerberus
CerberusOP•6d ago
sorry what do you mean?
Daniel
Daniel•6d ago
Could you share your compose file again?
Cerberus
CerberusOP•6d ago
2 seconds, I never shared the whole thing just that snippet WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose Make sure to use the docker-compose.yml of the current release: https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml The compose file on main may not be compatible with the latest release. name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding volumes: # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - '2283:2283' depends_on: - redis - database restart: always healthcheck: disable: false immich-machine-learning: container_name: immich_machine_learning # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag. # Example tag: ${IMMICH_VERSION:-release}-cuda image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration # file: hwaccel.ml.yml # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the -wsl version for WSL2 where applicable volumes: - model-cache:/cache env_file: - .env restart: always healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1 healthcheck: test: redis-cli ping exit 1 restart: always database: container_name: immich_postgres image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' volumes: # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file - ${DB_DATA_LOCATION}:/var/lib/postgresql/data healthcheck: test: >- pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 interval: 5m start_interval: 30s start_period: 5m command: >- postgres -c shared_preload_libraries=vectors.so -c 'search_path="$$user", public, vectors' -c logging_collector=on -c max_wal_size=2GB -c shared_buffers=512MB -c wal_compression=on restart: always volumes: model-cache:
Daniel
Daniel•6d ago
Yeah I only care about the postgres part There's more stuff in there the release notes told you to change in 1.133 Please read the release notes again.
Mraedis
Mraedis•6d ago
use ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 (why are you on docker.io ?)
Daniel
Daniel•6d ago
Also, why did you change the pg image back to pgvecto-rs?
Mraedis
Mraedis•6d ago
be back tomorrow!
Cerberus
CerberusOP•6d ago
right back up and running ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1 so thats the new Database vector now right? so what is the pg16 and pg 14 then
Mraedis
Mraedis•6d ago
postgres version 14 or 16 we use a new database extension the database remains postgres
Cerberus
CerberusOP•6d ago
What's the difference between 14 and 16 I think I know what happened with the update
Mraedis
Mraedis•6d ago
It's like windows 7 and 11 Same thing but can't just switch them out
Cerberus
CerberusOP•6d ago
Is there a functional difference?
Daniel
Daniel•6d ago
Nothing you should worry about What happened in the update? 👀
Cerberus
CerberusOP•6d ago
Think some files weren't removed when I rebuilt my computer and moved things around to run immich on a different SSD But I don't understand how that same compose file worked on the last version but failed on the update
CrushedAsian255
CrushedAsian255•6d ago
Because Immich switched the Postgres library used

Did you find this page helpful?