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.

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. Minta akses ke rilis Pratinjau dengan mengirimkan formulir ini.
  2. Lakukan inisialisasi Red Hat Subscription Manager di 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.
  3. 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.

  4. 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
    
  5. Instal paket pengembangan dan server PostgreSQL:

    sudo dnf install -y "postgresql17-server"
    

    Ganti OMNI_VERSION dengan nomor versi AlloyDB Omni, yaitu 17.

  6. Instal ekstensi PostGIS:

    sudo dnf install -y postgis35_17
    
  7. Buat link simbolis 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
      fi
    done
    
  8. Hubungkan ke database Anda dengan ekstensi PostGIS:

    /usr/lib/postgresql/17/bin/psql -h localhost -U postgres
    
  9. Aktifkan PostGIS:

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  10. 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)