Instala PostGIS para AlloyDB Omni

Selecciona una versión de la documentación:

AlloyDB Omni no incluye la extensión PostGIS, pero puedes agregarla manualmente a una instalación existente de AlloyDB Omni siguiendo las instrucciones de esta página para agregar compatibilidad con el almacenamiento, la indexación y la consulta de datos geoespaciales.

Antes de comenzar

Asegúrate de haber instalado AlloyDB Omni en tu sistema.

Agrega PostGIS a tu instalación de AlloyDB Omni

Para agregar la extensión PostGIS a tu instalación de AlloyDB Omni, sigue estos pasos:

  1. Encuentra las etiquetas de la versión de AlloyDB Omni instalada:

    Docker

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

    Podman

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

    El resultado es similar a este:

    AlloyDB Omni version: 15.7.0
    

    Toma nota del número de versión de AlloyDB Omni, ya que lo necesitarás en el siguiente paso.

  2. Establece la variable de entorno OMNI_VERSION:
    OMNI_VERSION=VERSION

    Reemplaza VERSION por la versión completa del servidor de la base de datos del paso anterior, por ejemplo, 15.7.0.

  3. Crea un nuevo contenedor de AlloyDB Omni que incluya 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 nuevo contenedor con AlloyDB Omni llamado 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. Conéctate a tu base de datos con la extensión PostGIS:

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

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

    El resultado es similar al siguiente:

       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)