# ============================================================================= # PostgreSQL 17 mit PostGIS **und** pgvector. # # Warum ein eigenes Image: FLORIAN braucht beides. PostGIS seit Phase 6 für # Hydranten und Umkreissuche, pgvector seit Phase 8 für die semantische Suche # im Wiki. Es gibt kein offizielles Image, das beides mitbringt — # postgis/postgis kennt kein vector, pgvector/pgvector kein PostGIS. # # Die Alternative wäre gewesen, die Ähnlichkeitssuche in der Anwendung zu # rechnen: alle Abschnitte laden, Kosinusabstand in TypeScript. Das geht bei # zweihundert Wiki-Seiten und wird bei zweitausend zäh — und es verlegt eine # Aufgabe in die Anwendung, für die die Datenbank einen Index hat. # # Das Basisimage ist Debian mit eingerichtetem PGDG-Repository; die Erweiterung # kommt als fertiges Paket daher, nicht als Übersetzungslauf. # ============================================================================= FROM postgis/postgis:17-3.5 # Version festhalten: ein stillschweigender Sprung auf eine neue pgvector- # Fassung würde beim nächsten Neubau des Images passieren, nicht dann, wenn # jemand darüber entscheidet. ARG PGVECTOR_PAKET=postgresql-17-pgvector RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends "${PGVECTOR_PAKET}"; \ rm -rf /var/lib/apt/lists/* # Die Erweiterung selbst wird nicht hier angelegt, sondern in der Migration # (CREATE EXTENSION IF NOT EXISTS vector). Grund: eine bestehende Installation # bekommt zwar das neue Image, aber nicht noch einmal den Init-Lauf — das # Datenverzeichnis ist ja nicht leer. Über die Migration greift es in beiden # Fällen.