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)