PostGIS für AlloyDB Omni installieren

AlloyDB Omni enthält nicht die PostGIS-Erweiterung. Sie können sie jedoch einer vorhandenen AlloyDB Omni-Installation manuell hinzufügen. Folgen Sie dazu der Anleitung auf dieser Seite, um die Unterstützung für das Speichern, Indexieren und Abfragen von Geodaten hinzuzufügen.

Hinweise

AlloyDB Omni muss auf Ihrem System installiert sein.

PostGIS zu Ihrer AlloyDB Omni-Installation hinzufügen

So fügen Sie Ihrer AlloyDB Omni-Installation die PostGIS-Erweiterung hinzu:

  1. So finden Sie die Labels der installierten AlloyDB Omni-Version:

    Docker

    docker run --rm -it  google/alloydbomni cat VERSION.txt

    Podman

    podman run --rm -it  google/alloydbomni cat VERSION.txt

    Die Ausgabe sieht in etwa so aus:

    AlloyDB Omni version: 15.7.0
    

    Notieren Sie sich die AlloyDB Omni-Versionsnummer. Sie benötigen sie im nächsten Schritt.

  2. Legen Sie die Umgebungsvariable OMNI_VERSION fest:
    OMNI_VERSION=VERSION

    Ersetzen Sie VERSION durch die vollständige Datenbankserverversion aus dem vorherigen Schritt, z. B. 15.5.3.

  3. Erstellen Sie einen neuen AlloyDB Omni-Container mit PostGIS:

    Linux

           mkdir ~/alloydb-omni-postgis
           tee -a ~/alloydb-omni-postgis/Dockerfile << EOF
           ARG OMNI_VERSION
           FROM google/alloydbomni:${OMNI_VERSION}
           RUN apt-get update && 
    apt-get install -y --no-install-recommends
    postgresql-15-postgis-3 &&
    apt-get purge -y --auto-remove &&
    rm -rf /var/lib/apt/lists/* EOF
    cd ~/alloydb-omni-postgis sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-postgis:$OMNI_VERSION .

    macOS

           mkdir ~/alloydb-omni-postgis
           tee -a ~/alloydb-omni-postgis/Dockerfile << EOF
           ARG OMNI_VERSION
           FROM google/alloydbomni:${OMNI_VERSION}
           RUN apt-get update && 
    apt-get install -y --no-install-recommends
    postgresql-15-postgis-3 &&
    apt-get purge -y --auto-remove &&
    rm -rf /var/lib/apt/lists/* EOF
    cd ~/alloydb-omni-postgis sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-postgis:$OMNI_VERSION .
  4. Erstellen Sie einen neuen Container mit AlloyDB Omni mit dem Namen my-omni-postgis:

    Docker

    docker run --name my-omni-postgis  -e POSTGRES_PASSWORD=NEW_PASSWORD  -d google/alloydbomni-with-postgis:OMNI_VERSION

    Podman

    podman run --name my-omni-postgis  -e POSTGRES_PASSWORD=NEW_PASSWORD  -d google/alloydbomni-with-postgis:OMNI_VERSION
  5. Stellen Sie eine Verbindung zur Datenbank mit der PostGIS-Erweiterung her:

    docker exec -it my-omni-postgis psql -h localhost -U postgres
  6. PostGIS aktivieren:

       CREATE EXTENSION IF NOT EXISTS POSTGIS;
       SELECT postgis_full_version();

    Die Ausgabe sieht dann ungefähr so aus:

       postgres=# SELECT postgis_full_version();
       postgis_full_version
       --------------------------------------------------------------------------------------------------------------------------------
       POSTGIS="3.3.2 4975da8" [EXTENSION] PGSQL="150" GEOS="3.11.1-CAPI-1.17.1" PROJ="9.1.1" LIBXML="2.9.14" LIBJSON="0.16" LIBPROTOBUF="1.4.1" WAGYU="0.5.0 (Internal)"
       (1 row)