Nesta página, descrevemos como adicionar manualmente a extensão PostGIS a uma instalação do AlloyDB Omni. A extensão PostGIS permite armazenar, indexar e consultar dados geoespaciais.
É possível instalar o PostGIS usando um dos seguintes métodos:
- Use as opções do Debian na CLI do Docker ou do Podman. O Docker depende de um daemon e exige privilégios de root para a maioria das operações, enquanto o Podman não tem daemon e não exige privilégios de root.
- Use as imagens de base universais (UBI, na sigla em inglês) da Red Hat. As imagens do sistema operacional de base do contêiner UBI são criadas com partes do Red Hat Enterprise Linux (RHEL).
Antes de começar
Instale o AlloyDB Omni no seu sistema.
Adicionar o PostGIS à instalação do AlloyDB Omni
Para adicionar a extensão PostGIS à sua instalação do AlloyDB Omni, siga estas etapas:
Encontre os rótulos da versão instalada do AlloyDB Omni:
Docker
docker run --rm -it google/alloydbomni cat VERSION.txt
Podman
podman run --rm -it google/alloydbomni cat VERSION.txt
O resultado será assim:
AlloyDB Omni version: 16.3.0
Anote o número da versão do AlloyDB Omni, porque você vai precisar dele na próxima etapa.
Defina a variável de ambiente
OMNI_VERSION
:OMNI_VERSION=VERSION
Substitua
VERSION
pela versão completa do servidor de banco de dados da etapa anterior, por exemplo,16.3.0
.Crie um contêiner do AlloyDB Omni que inclua o 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-16-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-16-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 . ```
Crie um contêiner com o AlloyDB Omni chamado
my-omni-postgis
:Docker
docker build -t google/alloydbomni-with-postgis:latest 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
Conecte-se ao banco de dados com a extensão PostGIS:
docker exec -it my-omni-postgis psql -h localhost -U postgres
Ative o PostGIS:
CREATE EXTENSION IF NOT EXISTS POSTGIS; SELECT postgis_full_version();
A saída será assim:
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)