Installa PostGIS per AlloyDB Omni

Seleziona una versione della documentazione:

Questa pagina descrive come aggiungere manualmente l'estensione PostGIS a un'installazione AlloyDB Omni esistente. L'estensione PostGIS consente di archiviare, indicizzare ed eseguire query sui dati geospaziali.

Prima di iniziare

Installa AlloyDB Omni sul tuo sistema.

Aggiungere PostGIS all'installazione di AlloyDB Omni

Per aggiungere l'estensione PostGIS all'installazione di AlloyDB Omni, segui questi passaggi:

  1. Richiedi l'accesso alla release Anteprima inviando questo modulo.
  2. 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.
  3. 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.

  4. 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
    
  5. Installa il server PostgreSQL e i pacchetti di sviluppo:

    sudo dnf install -y "postgresql17-server"
    

    Sostituisci OMNI_VERSION con il numero di versione di AlloyDB Omni, ovvero 17.

  6. Installa l'estensione PostGIS:

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

    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. Connettiti al database con l'estensione PostGIS:

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

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  10. 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.17.1" PROJ="9.1.1" LIBXML="2.9.14" LIBJSON="0.16" LIBPROTOBUF="1.4.1" WAGYU="0.5.0 (Internal)"
    (1 row)