# 0001 — Image de VectorChord en base, TimescaleDB compilé, PostGIS par apt ## Contexte L'image doit réunir PostgreSQL, TimescaleDB, VectorChord, pgvector et PostGIS, pour plusieurs versions majeures de PostgreSQL. TensorChord publie `tensorchord/vchord-postgres`, qui contient déjà PostgreSQL, VectorChord et pgvector, construite sur l'image officielle `postgres` (Debian 12, dépôt de paquets PGDG). ## Décision - L'image part de `tensorchord/vchord-postgres:pgN-vX.Y.Z`. - TimescaleDB est compilé depuis l'étiquette Git de sa version, dans une étape séparée. Seuls ses bibliothèques et ses scripts SQL passent dans l'image finale. - PostGIS est installé par le paquet `postgresql-N-postgis-3` du dépôt PGDG. - Les extensions sont créées à l'initialisation de la base par un script de `/docker-entrypoint-initdb.d/`, et la commande de l'image précharge `timescaledb` et `vchord`. ## Conséquences - Le même Dockerfile sert toutes les versions de PostgreSQL pour lesquelles TensorChord publie une image. - Une construction sans cache compile TimescaleDB, ce qui prend plusieurs minutes par version. - Les outils de compilation ne sont pas dans l'image publiée. - Variables d'environnement, point d'entrée et emplacement des données sont ceux de l'image officielle `postgres`. ## Attestée par `Dockerfile` ; `init-extensions.sh` ; `tests/test-*.sql`.