Menginstal PostGIS untuk AlloyDB Omni

AlloyDB Omni tidak menyertakan ekstensi PostGIS, tetapi Anda dapat menambahkannya secara manual ke penginstalan AlloyDB Omni yang ada dengan mengikuti petunjuk di halaman ini untuk menambahkan dukungan untuk menyimpan, mengindeks, dan membuat kueri data geospasial.

Sebelum memulai

Pastikan Anda telah menginstal AlloyDB Omni di sistem Anda.

Menambahkan PostGIS ke penginstalan AlloyDB Omni

Untuk menambahkan ekstensi PostGIS ke penginstalan AlloyDB Omni, ikuti langkah-langkah berikut:

  1. Temukan label versi AlloyDB Omni yang diinstal:

    Docker

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

    Podman

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

    Outputnya mirip dengan hal berikut ini:

    AlloyDB Omni version: 15.7.0
    

    Catat nomor versi AlloyDB Omni; Anda memerlukannya di langkah berikutnya.

  2. Tetapkan variabel lingkungan OMNI_VERSION:
    OMNI_VERSION=VERSION

    Ganti VERSION dengan versi server database lengkap dari langkah sebelumnya—misalnya, 15.5.3.

  3. Buat penampung AlloyDB Omni baru yang menyertakan 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. Buat penampung baru dengan AlloyDB Omni bernama 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. Hubungkan ke database Anda dengan ekstensi PostGIS:

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

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

    Outputnya terlihat mirip dengan yang berikut ini:

       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)