Installa PostGIS per AlloyDB Omni

Seleziona una versione della documentazione:

Per archiviare, indicizzare ed eseguire query sui dati geospaziali in AlloyDB Omni, puoi aggiungere manualmente l'estensione PostGIS alla tua installazione.

Prima di iniziare

Installa AlloyDB Omni sul tuo sistema.

Aggiungi PostGIS all'installazione di AlloyDB Omni

Per aggiungere l'estensione PostGIS alla tua installazione di AlloyDB Omni, segui questi passaggi:
  1. Inizializza Red Hat Subscription Manager sulla VM in cui hai installato il server AlloyDB Omni:

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

    Sostituisci quanto segue:

    • RHSM_USER: l'utente di Red Hat Subscription Manager.
    • RHSM_PASS: la password di Red Hat Subscription Manager.
  2. Abilita il repository CodeReady Builder:

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

    Sostituisci ARCH con l'architettura RHEL che vuoi utilizzare, ad esempio x86_64.

  3. Aggiungi il repository Yum di PostgreSQL:

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

    sudo dnf install -y postgis35_18
    
  5. Crea i collegamenti simbolici richiesti in modo che le estensioni si trovino nei percorsi previsti:

    set -e
    PGVER="18"
    
    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. Connettiti al database ed esegui il comando CREATE EXTENSION per attivare PostGIS:

    Per istruzioni su come connetterti all'istanza, consulta Esegui e connettiti ad AlloyDB Omni.

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  7. Verifica che PostGIS sia installato e abilitato:

    SELECT postgis_full_version();
    

    L'output è simile al seguente:

    postgres=# SELECT postgis_full_version();
    postgis_full_version
    --------------------------------------------------------------------------------------------------------------------------------
    POSTGIS="3.3.2 4975da8" [EXTENSION] PGSQL="150" GEOS="3.11.1-CAPI-1.18.1" PROJ="9.1.1" LIBXML="2.9.14" LIBJSON="0.16" LIBPROTOBUF="1.4.1" WAGYU="0.5.0 (Internal)"
    (1 row)