AlloyDB Omni no incluye la extensión PostGIS, pero puedes agregarla manualmente a una instalación existente de AlloyDB Omni. Para ello, sigue las instrucciones de esta página para agregar compatibilidad con el almacenamiento, el indexado 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:
- Busca las etiquetas de versión de AlloyDB Omni instaladas:
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
Anota el número de versión de AlloyDB Omni, ya que lo necesitarás en el siguiente paso.
- 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.5.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/* EOFcd ~/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/* EOFcd ~/alloydb-omni-postgis
sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-postgis:$OMNI_VERSION .
- Crea un contenedor nuevo 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
Conéctate a tu base de datos con la extensión PostGIS:
docker exec -it my-omni-postgis psql -h localhost -U postgres
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)