AlloyDB Omni 用 PostGIS をインストールする

ドキュメントのバージョンを選択してください。

このページでは、既存の AlloyDB Omni インストールに PostGIS 拡張機能を手動で追加する方法について説明します。PostGIS 拡張機能を使用すると、地理空間データの保存、インデックス登録、クエリが可能になります。

始める前に

システムに AlloyDB Omni をインストールします。

AlloyDB Omni に PostGIS を追加する

AlloyDB Omni に PostGIS 拡張機能を追加する手順は次のとおりです。

  1. こちらのフォームを送信して、プレビュー リリースへのアクセスをリクエストしてください。
  2. AlloyDB Omni サーバーをインストールした VM で Red Hat Subscription Manager を初期化します。

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

    次のように置き換えます。

    • RHSM_USER: Red Hat Subscription Manager ユーザー。
    • RHSM_PASS: Red Hat Subscription Manager のパスワード。
  3. CodeReady Builder リポジトリを有効にします。

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

    ARCH は、使用する RHEL アーキテクチャ(x86_64 など)に置き換えます。

  4. PostgreSQL Yum リポジトリを追加します。

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  5. PostgreSQL サーバーと開発パッケージをインストールします。

    sudo dnf install -y "postgresql17-server"
    

    OMNI_VERSION は、AlloyDB Omni のバージョン番号である 17 に置き換えます。

  6. PostGIS 拡張機能をインストールします。

    sudo dnf install -y postgis35_17
    
  7. 拡張機能が想定されるパスに配置されるように、必要なシンボリック リンクを作成します。

    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. PostGIS 拡張機能を使用してデータベースに接続します。

    /usr/lib/postgresql/17/bin/psql -h localhost -U postgres
    
  9. PostGIS を有効にします。

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  10. PostGIS がインストールされ、有効になっていることを確認します。

    SELECT postgis_full_version();
    

    出力は次のようになります。

    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)