Menginstal PostGIS untuk AlloyDB Omni

Pilih versi dokumentasi:

Halaman ini menjelaskan cara menambahkan ekstensi PostGIS secara manual ke penginstalan AlloyDB Omni yang ada. Ekstensi PostGIS memungkinkan penyimpanan, pengindeksan, dan pembuatan kueri data geospasial.

Anda dapat menginstal PostGIS menggunakan salah satu metode berikut:

  • Gunakan opsi Debian di Docker atau Podman CLI. Docker mengandalkan daemon dan memerlukan hak istimewa root untuk sebagian besar operasi, sedangkan Podman tidak memiliki daemon dan tidak memerlukan root.
  • Gunakan Red Hat Universal Base Images (UBI). Image sistem operasi dasar container UBI dibangun dari bagian-bagian Red Hat Enterprise Linux (RHEL).

Sebelum memulai

Instal AlloyDB Omni di sistem Anda.

Menambahkan PostGIS ke penginstalan AlloyDB Omni

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

  1. Temukan label versi AlloyDB Omni yang terinstal:

    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: 16.3.0
    

    Catat nomor versi AlloyDB Omni karena Anda akan membutuhkannya pada langkah berikutnya.

  2. Tetapkan variabel lingkungan OMNI_VERSION:

    OMNI_VERSION=VERSION
    

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

  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-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 .
     ```
    

  4. Buat container baru dengan AlloyDB Omni bernama 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
    
  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)