[BUG] pgvector.rs Kernel 3.10 #1853

Closed
opened 2026-02-05 04:12:04 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @N1ck01as on GitHub (Dec 20, 2023).

The bug

New Postgres database in its 0.1.11 release is not compatible with 3.10.108 kernel (present in most Synology NAS).
Issue seems to be fixed in pgvector.rs: https://github.com/tensorchord/pgvecto.rs/pull/204

The OS that Immich Server is running on

DSM 7.2

Version of Immich Server

v1.9.4

Version of Immich Mobile App

v1.91.4

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.9"

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /volume1/Photos/albums:/mnt/media/albums:ro
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /volume1/Photos/albums:/mnt/media/albums:ro
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - ./model-cache:/cache
    env_file:
      - .env
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:60e49e22fa5706cd8df7d5e0bc50ee9bab7c608039fa653c4d961014237cca46
    restart: always

  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg14-v0.1.11
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    restart: always

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/Photos

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
#IMMICH_VERSION="v1.90.2"

# Connection secrets for postgres and typesense. You should change these to random passwords
DB_PASSWORD=my-secret-password

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. Pull the the last release of Immich
2. immich_postgres provides errors: 

immich_postgres | 2023-12-19 01:46:11.483 UTC [42] ERROR: called Result::unwrap() on an Err value: Os { code: 38, kind: Unsupported, message: "Function not implemented" }
immich_postgres | 2023-12-19 01:46:11.483 UTC [42] STATEMENT:
immich_postgres | CREATE INDEX IF NOT EXISTS clip_index ON smart_search
immich_postgres | USING vectors (embedding cosine_ops) WITH (options = $$
immich_postgres | [indexing.hnsw]
immich_postgres | m = 16
immich_postgres | ef_construction = 300
immich_postgres | $$);

Additional information

No response

Originally created by @N1ck01as on GitHub (Dec 20, 2023). ### The bug New Postgres database in its 0.1.11 release is not compatible with 3.10.108 kernel (present in most Synology NAS). Issue seems to be fixed in pgvector.rs: https://github.com/tensorchord/pgvecto.rs/pull/204 ### The OS that Immich Server is running on DSM 7.2 ### Version of Immich Server v1.9.4 ### Version of Immich Mobile App v1.91.4 ### Platform with the issue - [X] Server - [ ] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.9" name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /volume1/Photos/albums:/mnt/media/albums:ro - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - 2283:3001 depends_on: - redis - database restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /volume1/Photos/albums:/mnt/media/albums:ro - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - ./model-cache:/cache env_file: - .env restart: always redis: container_name: immich_redis image: redis:6.2-alpine@sha256:60e49e22fa5706cd8df7d5e0bc50ee9bab7c608039fa653c4d961014237cca46 restart: always database: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg14-v0.1.11 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - ./pgdata:/var/lib/postgresql/data restart: always ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored UPLOAD_LOCATION=/volume1/Photos # The Immich version to use. You can pin this to a specific version like "v1.71.0" #IMMICH_VERSION="v1.90.2" # Connection secrets for postgres and typesense. You should change these to random passwords DB_PASSWORD=my-secret-password # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis ``` ### Reproduction steps ```bash 1. Pull the the last release of Immich 2. immich_postgres provides errors: immich_postgres | 2023-12-19 01:46:11.483 UTC [42] ERROR: called Result::unwrap() on an Err value: Os { code: 38, kind: Unsupported, message: "Function not implemented" } immich_postgres | 2023-12-19 01:46:11.483 UTC [42] STATEMENT: immich_postgres | CREATE INDEX IF NOT EXISTS clip_index ON smart_search immich_postgres | USING vectors (embedding cosine_ops) WITH (options = $$ immich_postgres | [indexing.hnsw] immich_postgres | m = 16 immich_postgres | ef_construction = 300 immich_postgres | $$); ``` ### Additional information _No response_
Author
Owner

@mertalev commented on GitHub (Dec 20, 2023):

We plan to upgrade the version of pgvecto.rs in a few weeks with a more stable 0.2 release. The issue will be fixed with this upgrade.

@mertalev commented on GitHub (Dec 20, 2023): We plan to upgrade the version of pgvecto.rs in a few weeks with a more stable 0.2 release. The issue will be fixed with this upgrade.
Author
Owner

@davidrudlstorfer commented on GitHub (Jan 22, 2024):

Are there any updates on the update of pvecto.rs @mertalev? I am also limited by the Linux Kernel version and therefore, I cannot run the latest Immich version.

Thanks in advance 🙏

@davidrudlstorfer commented on GitHub (Jan 22, 2024): Are there any updates on the update of pvecto.rs @mertalev? I am also limited by the Linux Kernel version and therefore, I cannot run the latest Immich version. Thanks in advance 🙏
Author
Owner

@mertalev commented on GitHub (Jan 22, 2024):

pgvecto.rs 0.2 is not out yet, but it seems like it's close to release.

On our end, most of the code changes are in place for 0.2, but the upgrade logic itself hasn't been implemented yet. Implementing and testing the upgrade will take some more time to make sure it's airtight.

@mertalev commented on GitHub (Jan 22, 2024): pgvecto.rs 0.2 is not out yet, but it seems like it's close to release. On our end, most of the code changes are in place for 0.2, but the upgrade logic itself hasn't been implemented yet. Implementing and testing the upgrade will take some more time to make sure it's airtight.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1853