Installa PostGIS per AlloyDB Omni

AlloyDB Omni non include l'estensione PostGIS, ma puoi aggiungerla manualmente a un'installazione AlloyDB Omni esistente seguendo le istruzioni riportate in questa pagina per aggiungere il supporto per l'archiviazione, l'indicizzazione e le query dei dati geospaziali.

Prima di iniziare

Assicurati di aver installato AlloyDB Omni sul tuo sistema.

Aggiungere PostGIS all'installazione di AlloyDB Omni

Per aggiungere l'estensione PostGIS all'installazione di AlloyDB Omni, segui questi passaggi:

  1. Trova le etichette delle versioni di AlloyDB Omni installate:

    Docker

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

    Podman

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

    L'output è simile al seguente:

    AlloyDB Omni version: 15.7.0
    

    Prendi nota del numero di versione di AlloyDB Omni, che ti servirà nel passaggio successivo.

  2. Imposta la variabile di ambiente OMNI_VERSION:
    OMNI_VERSION=VERSION

    Sostituisci VERSION con la versione completa del server di database del passaggio precedente, ad esempio 15.5.3.

  3. Crea un nuovo contenitore AlloyDB Omni che includa 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. Crea un nuovo contenitore con AlloyDB Omni denominato 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. Connettiti al database con l'estensione PostGIS:

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

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

    L'output è simile al seguente:

       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)