Thank you for maintaining.
According to https://v1.120.2.archive.immich.app/docs/install/environment-variables#database , both pgvector
and pgvecro.rs
should be supported.
Additionally, can you separate immich-machine-learning
into a separate sub package, so that it can be installed on different machines instead of being strongly dependent on the immich-server
ontology using optdepends
.
Finally, I took over the maintenance of python-ftfy
and python-insightface
. Now, all the Python packages required for immich-machine-learning
can be obtained from the official repository and AUR, and can no longer be installed in a virtual environment. I have tested it myself and it runs like this. All the required Python packages for immichh machine learning are as follows:
gunicorn
python-aiocache
python-fastapi
python-ftfy
python-huggingface-hub
python-insightface
python-onnxruntime
python-orjson
python-python-multipart
python-rich
python-tokenizers
uvicorn
There are several dependency packages for immich-machine-learning
that have already been dependent on the packages mentioned above:
python-opencv
python-pillow
python-pydantic
Pinned Comments
aliu commented on 2025-06-30 02:49 (UTC) (edited on 2025-07-01 16:35 (UTC) by aliu)
You may notice pacman refuse to upgrade this package, saying warning: cannot resolve "vectorchord", a dependency of "immich-server".
This is due to required manual intervention within the immich server database.
Newer versions of immich server have deprecated pgvecto.rs in favor of vectorchord.
Before updating from
1.133.1
or older, please follow steps 1 and 2 of the manual migration steps (should be the second dropdown) at https://immich.app/docs/administration/postgres-standalone/#migrating-to-vectorchord and uninstall pgvecto.rs.Remember to remove references to "vectors.so" (which is shipped by pgvecto.rs) in shared_preload_libraries before pgvecto.rs in uninstalled. (For vectorchord to work, you'll need to add "vchord.so" to shared_preload_libraries after the upgrade as well.)
After that, you may upgrade this package. Please remember to follow steps 4 and 5 of the manual migration steps after the upgrade is finished to prevent data loss.
pikl commented on 2025-01-25 21:54 (UTC) (edited on 2025-01-26 08:23 (UTC) by pikl)
Upgrading to
postgresql-17
is awkward because ofpgvecto.rs
if you have been using0.2.0
as provided by AUR package pgvecto.rs-immich. If you have been using0.3.0
as provided by AUR package pgvecto.rs-immich-bin then these extra steps are likely not required and I suggest the wiki instructions for upgrades for major version increments ofpostgresql
are followed.If you would like to stick at
postgresql-16
please add the following topacman.conf
:Following the manual dump and reload in the wiki does appear to work, with a few extra steps to consider the
pgvecto.rs
upgrade.Starting point is
postgresql-old-upgrade
installed withpgvector.rs-0.2.0
. Symlink the installation outputs ofpgvecto.rs
into the directories used by the parallel installation ofpostgresql-old-upgrade
.Then perform the database start (
/opt/psql-16/bin/pg_ctl .. start
), "dump" (pg_dumpall...
) and database stop (/opt/psql-16/bin/pg_ctl .. start
) steps in the wiki.Upgrade to
postgresql-17
andpgvecto.rs-0.3.0
(provided bypgvector.rs-immich-bin
). Clear out/var/lib/postgresql/data
then initialise the database (initdb...
) as per the wiki.Start the service using
systemctl start postgresql
and install thepgvecto.rs
using the following command:Finally restart the postgresql service and perform the reload (
psql...
) steps in the wiki.EDITED: Various clarifications