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.

Aggiungi 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 run --rm -it  google/alloydbomni cat VERSION.txt
    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.7.0.

  3. Crea un nuovo contenitore AlloyDB Omni che includa PostGIS:
    LinuxmacOS
           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 .
           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 run --name my-omni-postgis  -e POSTGRES_PASSWORD=NEW_PASSWORD  -d google/alloydbomni-with-postgis:OMNI_VERSION
    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)