Error: The pgvecto.rs extension version is 0.4.0, but Immich only supports >=0.2 <0.4 #4924

Closed
opened 2026-02-05 10:59:36 +03:00 by OVERLORD · 6 comments
Owner

Originally created by @davralin on GitHub (Dec 11, 2024).

The bug

Error: The pgvecto.rs extension version is 0.4.0, but Immich only supports >=0.2 <0.4

The OS that Immich Server is running on

Kubernetes

Version of Immich Server

v1.122.2

Version of Immich Mobile App

v1.122.2

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

values:
    env:
      REDIS_HOSTNAME: "immich-valkey-primary"
      DB_HOSTNAME: "immich-postgres-v17-rw"
      DB_DATABASE_NAME: "immich"
    image:
      tag: "v1.122.2"
    immich:
      metrics:
        enabled: "${MONITORING_PROMETHEUS}"
      persistence:
        library:
          existingClaim: immich
    machine-learning:
      persistence:
        cache:
          type: pvc
          accessMode: ReadWriteOnce
          storageClass: "${STORAGE_READWRITEONCE}"
        external:
          enabled: true
          existingClaim: nextcloud
          readOnly: true
    server:
      persistence:
        external:
          enabled: true
          existingClaim: nextcloud
          readOnly: true
      ingress:
        main:
          enabled: true
          annotations:
            haproxy.org/response-set-header: |
              Strict-Transport-Security "max-age=31536000"
              X-Frame-Options "DENY"
              X-Content-Type-Options "nosniff"
              Referrer-Policy "no-referrer-when-downgrade"
          hosts:
            - host: "immich.${SECRET_DEFAULT_DOMAIN}"
              paths:
                - path: "/"
          tls:
            - secretName: "${SECRET_DEFAULT_DOMAIN_CERT}"

Your .env content

values:
    env:
      REDIS_HOSTNAME: "immich-valkey-primary"
      DB_HOSTNAME: "immich-postgres-v17-rw"
      DB_DATABASE_NAME: "immich"
    image:
      tag: "v1.122.2"
    immich:
      metrics:
        enabled: "${MONITORING_PROMETHEUS}"
      persistence:
        library:
          existingClaim: immich
    machine-learning:
      persistence:
        cache:
          type: pvc
          accessMode: ReadWriteOnce
          storageClass: "${STORAGE_READWRITEONCE}"
        external:
          enabled: true
          existingClaim: nextcloud
          readOnly: true
    server:
      persistence:
        external:
          enabled: true
          existingClaim: nextcloud
          readOnly: true
      ingress:
        main:
          enabled: true
          annotations:
            haproxy.org/response-set-header: |
              Strict-Transport-Security "max-age=31536000"
              X-Frame-Options "DENY"
              X-Content-Type-Options "nosniff"
              Referrer-Policy "no-referrer-when-downgrade"
          hosts:
            - host: "immich.${SECRET_DEFAULT_DOMAIN}"
              paths:
                - path: "/"
          tls:
            - secretName: "${SECRET_DEFAULT_DOMAIN_CERT}"

Reproduction steps

# kubectl -n nextcloud logs -f deploy/nextcloud-immich-server
Initializing Immich v1.122.2
Detected CPU Cores: 12
Starting api worker
Starting microservices worker
(node:7) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:17) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[Nest] 7  - 12/11/2024, 8:19:42 PM     LOG [Microservices:EventRepository] Initialized websocket server
Error: The pgvecto.rs extension version is 0.4.0, but Immich only supports >=0.2 <0.4.
    Please change pgvecto.rs to a compatible version in the Postgres instance.
    at /usr/src/app/dist/services/database.service.js:79:23
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async /usr/src/app/dist/repositories/database.repository.js:197:23
microservices worker error: Error: The pgvecto.rs extension version is 0.4.0, but Immich only supports >=0.2 <0.4.
    Please change pgvecto.rs to a compatible version in the Postgres instance.
microservices worker exited with code 1
Killing api process

I see from #11624 that the max-version was hard-coded, and that #13231 speaks of a missing 17-image.

The image is out now, ghcr.io/tensorchord/cloudnative-pgvecto.rs:17.2-v0.4.0

Relevant log output

No response

Additional information

No response

Originally created by @davralin on GitHub (Dec 11, 2024). ### The bug Error: The pgvecto.rs extension version is 0.4.0, but Immich only supports >=0.2 <0.4 ### The OS that Immich Server is running on Kubernetes ### Version of Immich Server v1.122.2 ### Version of Immich Mobile App v1.122.2 ### Platform with the issue - [X] Server - [ ] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML values: env: REDIS_HOSTNAME: "immich-valkey-primary" DB_HOSTNAME: "immich-postgres-v17-rw" DB_DATABASE_NAME: "immich" image: tag: "v1.122.2" immich: metrics: enabled: "${MONITORING_PROMETHEUS}" persistence: library: existingClaim: immich machine-learning: persistence: cache: type: pvc accessMode: ReadWriteOnce storageClass: "${STORAGE_READWRITEONCE}" external: enabled: true existingClaim: nextcloud readOnly: true server: persistence: external: enabled: true existingClaim: nextcloud readOnly: true ingress: main: enabled: true annotations: haproxy.org/response-set-header: | Strict-Transport-Security "max-age=31536000" X-Frame-Options "DENY" X-Content-Type-Options "nosniff" Referrer-Policy "no-referrer-when-downgrade" hosts: - host: "immich.${SECRET_DEFAULT_DOMAIN}" paths: - path: "/" tls: - secretName: "${SECRET_DEFAULT_DOMAIN_CERT}" ``` ### Your .env content ```Shell values: env: REDIS_HOSTNAME: "immich-valkey-primary" DB_HOSTNAME: "immich-postgres-v17-rw" DB_DATABASE_NAME: "immich" image: tag: "v1.122.2" immich: metrics: enabled: "${MONITORING_PROMETHEUS}" persistence: library: existingClaim: immich machine-learning: persistence: cache: type: pvc accessMode: ReadWriteOnce storageClass: "${STORAGE_READWRITEONCE}" external: enabled: true existingClaim: nextcloud readOnly: true server: persistence: external: enabled: true existingClaim: nextcloud readOnly: true ingress: main: enabled: true annotations: haproxy.org/response-set-header: | Strict-Transport-Security "max-age=31536000" X-Frame-Options "DENY" X-Content-Type-Options "nosniff" Referrer-Policy "no-referrer-when-downgrade" hosts: - host: "immich.${SECRET_DEFAULT_DOMAIN}" paths: - path: "/" tls: - secretName: "${SECRET_DEFAULT_DOMAIN_CERT}" ``` ### Reproduction steps ```` # kubectl -n nextcloud logs -f deploy/nextcloud-immich-server Initializing Immich v1.122.2 Detected CPU Cores: 12 Starting api worker Starting microservices worker (node:7) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) (node:7) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) (node:17) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) [Nest] 7 - 12/11/2024, 8:19:42 PM LOG [Microservices:EventRepository] Initialized websocket server Error: The pgvecto.rs extension version is 0.4.0, but Immich only supports >=0.2 <0.4. Please change pgvecto.rs to a compatible version in the Postgres instance. at /usr/src/app/dist/services/database.service.js:79:23 at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async /usr/src/app/dist/repositories/database.repository.js:197:23 microservices worker error: Error: The pgvecto.rs extension version is 0.4.0, but Immich only supports >=0.2 <0.4. Please change pgvecto.rs to a compatible version in the Postgres instance. microservices worker exited with code 1 Killing api process ```` I see from #11624 that the max-version was hard-coded, and that #13231 speaks of a missing 17-image. The image is out now, `ghcr.io/tensorchord/cloudnative-pgvecto.rs:17.2-v0.4.0` ### Relevant log output _No response_ ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Dec 11, 2024):

Not a bug since this is specifically called out from our docker-compose file.

@alextran1502 commented on GitHub (Dec 11, 2024): Not a bug since this is specifically called out from our docker-compose file.
Author
Owner

@davralin commented on GitHub (Dec 11, 2024):

Not a bug since this is specifically called out from our docker-compose file.

Not supporting a newer version is not a bug?

Where do you want me to file this then? A discord-thread?

@davralin commented on GitHub (Dec 11, 2024): > Not a bug since this is specifically called out from our docker-compose file. Not supporting a newer version is not a bug? Where do you want me to file this then? A discord-thread?
Author
Owner

@bo0tzz commented on GitHub (Dec 11, 2024):

This is indeed not a bug. There's a request open at #14280

@bo0tzz commented on GitHub (Dec 11, 2024): This is indeed not a bug. There's a request open at #14280
Author
Owner

@davralin commented on GitHub (Dec 12, 2024):

Okay.

Not a great user-experience from github's side that a search in issues, doesn't include Discussions.

That means I have to check issues, discussions and discord before I submit something here then, that's a bit tedious.

@davralin commented on GitHub (Dec 12, 2024): Okay. Not a great user-experience from github's side that a search in issues, doesn't include Discussions. That means I have to check issues, discussions and discord before I submit something here then, that's a bit tedious.
Author
Owner

@zacheryph commented on GitHub (Dec 28, 2024):

@davralin

This is indeed not a bug. It is something to strive for. 0.4.0 is not that old. To think they will never support a newer version would be a little ignorant. Now if it was months old I'd be concerned.

It's saying it does not support the latest version currently. This is no different than limiting the version of node or typescript you're allowed to use. In this case even more so considering its a pre-1.0 release. Pre-1.0 minor versions should be treated as major/possibly-breaking.

Blindly accepting these versions could lead to ... an even more wonderful user experience. If Immich didn't check this, and it kind of sort of worked, but didn't, or was slow, or was just wonky in some fashion, you'd be on here complaining about how garbage it is.

They're ensuring the software works with a newer version of a pre-1.0 postgresql extension before letting who knows how many users be guinea pigs and possibly completely destroying their immich data.

That seems like a better user experience to me.

@zacheryph commented on GitHub (Dec 28, 2024): @davralin This is indeed _not_ a bug. It is something to strive for. 0.4.0 is not that old. To think they will never support a newer version would be a little ignorant. Now if it was months old I'd be concerned. It's saying it does not support the latest version _currently_. This is no different than limiting the version of node or typescript you're allowed to use. In this case even more so considering its a pre-1.0 release. Pre-1.0 minor versions should be treated as major/possibly-breaking. Blindly accepting these versions could lead to ... an even more _wonderful_ user experience. If Immich didn't check this, and it kind of sort of worked, but _didn't_, or was slow, or was just wonky in some fashion, you'd be on here complaining about how garbage it is. They're _ensuring_ the software works with a newer version of a pre-1.0 postgresql extension before letting who knows how many users be guinea pigs and possibly completely destroying their immich data. _That_ seems like a better user experience to me.
Author
Owner

@davralin commented on GitHub (Jan 2, 2025):

This is indeed not a bug.

It's not possible to restore backup's using cnpg with anything below 0.4 from pgvecto.rs.
( tensorchord/pgvecto.rs/issues/570 )

In order to restore from backup, I had to scale down immich's deployments, create a completely blank cnpg-cluster, restore the pg-dump from immich's data-folder to the cnpg-cluster, then scale up immich again.

The current state I am running in, is that I can't trust the backup/restore for my database, and I am reliant on the pgsql-dump done in the immich-container.

That is probably the state for many running immich in kubernetes right now, perhaps spesifically because the helm-chart from immich is deprecating it's builtin postgres-deployment, in favor of using an external database - many prefer using cnpg, and the inability to restore your backups won't be present before you actually need it.

0.4.0 is not that old. To think they will never support a newer version would be a little ignorant.

The linked discussion specifically says that the plan is to not upgrade/support 0.4, but to switch to something else.

@davralin commented on GitHub (Jan 2, 2025): > This is indeed _not_ a bug. It's not possible to restore backup's using cnpg with anything below 0.4 from pgvecto.rs. ( tensorchord/pgvecto.rs/issues/570 ) In order to restore from backup, I had to scale down immich's deployments, create a completely blank cnpg-cluster, restore the pg-dump from immich's data-folder to the cnpg-cluster, then scale up immich again. The current state I am running in, is that I can't trust the backup/restore for my database, and I am reliant on the pgsql-dump done in the immich-container. That is probably the state for many running immich in kubernetes right now, perhaps spesifically because the helm-chart from immich is deprecating it's builtin postgres-deployment, in favor of using an external database - many prefer using cnpg, and the inability to restore your backups won't be present before you actually need it. > 0.4.0 is not that old. To think they will never support a newer version would be a little ignorant. The linked discussion specifically says that the plan is to not upgrade/support 0.4, but to switch to something else.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#4924