Installer PostGIS pour AlloyDB Omni

Sélectionnez une version de la documentation :

Pour stocker, indexer et interroger des données géospatiales dans AlloyDB Omni, vous pouvez ajouter manuellement l'extension PostGIS à votre installation.

Avant de commencer

Installez AlloyDB Omni sur votre système.

Ajouter PostGIS à votre installation AlloyDB Omni

Pour ajouter l'extension PostGIS à votre installation AlloyDB Omni, procédez comme suit :
  1. Initialisez Red Hat Subscription Manager sur la VM où vous avez installé le serveur AlloyDB Omni :

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

    Remplacez les éléments suivants :

    • RHSM_USER : utilisateur de Red Hat Subscription Manager.
    • RHSM_PASS : mot de passe du gestionnaire d'abonnements Red Hat.
  2. Activez le dépôt CodeReady Builder :

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

    Remplacez ARCH par l'architecture RHEL que vous souhaitez utiliser (par exemple, x86_64).

  3. Ajoutez le dépôt Yum PostgreSQL :

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

    sudo dnf install -y postgis35_18
    
  5. Créez les liens symboliques requis pour que les extensions se trouvent dans les chemins d'accès attendus :

    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. Connectez-vous à votre base de données et exécutez la commande CREATE EXTENSION pour activer PostGIS :

    Pour savoir comment vous connecter à votre instance, consultez Exécuter AlloyDB Omni et s'y connecter.

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  7. Vérifiez que PostGIS est installé et activé :

    SELECT postgis_full_version();
    

    Le résultat ressemble à ce qui suit :

    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)