Menginstal PostGIS untuk AlloyDB Omni

Pilih versi dokumentasi:

Untuk menyimpan, mengindeks, dan membuat kueri data geospasial di AlloyDB Omni, Anda dapat menambahkan ekstensi PostGIS secara manual ke penginstalan Anda.

Sebelum memulai

Instal AlloyDB Omni di sistem Anda.

Menambahkan PostGIS ke penginstalan AlloyDB Omni Anda

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

  1. Lakukan inisialisasi Red Hat Subscription Manager pada VM tempat Anda menginstal server AlloyDB Omni:

    sudo dnf install -y subscription-manager
    sudo subscription-manager register --username "RHSM_USER" --password "RHSM_PASS" --auto-attach --force
    

    Ganti kode berikut:

    • RHSM_USER: pengguna Red Hat Subscription Manager.
    • RHSM_PASS: sandi Red Hat Subscription Manager.
  2. Aktifkan repositori CodeReady Builder:

    sudo subscription-manager repos --enable="codeready-builder-for-rhel-9-$ARCH-rpms"
    

    Ganti ARCH dengan arsitektur RHEL yang ingin Anda gunakan—misalnya, x86_64.

  3. Tambahkan repositori Yum PostgreSQL:

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  4. Instal ekstensi PostGIS:

    sudo dnf install -y postgis35_17
    
  5. Buat symlink yang diperlukan agar ekstensi berada di jalur yang diharapkan:

    set -e
    PGVER="17"
    
    sudo mkdir -p "/usr/lib/postgresql/${PGVER}/share/extension"
    
    for file in /usr/pgsql-${PGVER}/share/extension/*; do
        target="/usr/lib/postgresql/${PGVER}/share/extension/$(basename "$file")"
        if [[ ! -e "$target" ]]; then
          sudo ln -s "$file" "$target" || (echo "Failed to link \"$file\" to \"$target\", exiting." && exit 1)
          echo "Created extension link for $(basename "$file")"
        else
          echo "Target $target already exists."
        fi
    done
    
    sudo mkdir -p "/usr/lib/postgresql/${PGVER}/lib"
    
    for file in /usr/pgsql-${PGVER}/lib/*; do
        target="/usr/lib/postgresql/${PGVER}/lib/$(basename "$file")"
        if [[ ! -e "$target" ]]; then
          sudo ln -s "$file" "$target" || (echo "Failed to link \"$file\" to \"$target\", exiting." && exit 1)
          echo "Created lib link for $(basename "$file")"
        else
          echo "Target $target already exists."
        fi
    done
    
  6. Hubungkan ke database Anda dan jalankan perintah CREATE EXTENSION untuk mengaktifkan PostGIS:

    Untuk mengetahui petunjuk cara terhubung ke instance, lihat Menjalankan dan terhubung ke AlloyDB Omni.

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  7. Pastikan PostGIS telah diinstal dan diaktifkan:

    SELECT postgis_full_version();
    

    Outputnya mirip dengan hal 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)