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)