PostGIS für AlloyDB Omni installieren

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite wird beschrieben, wie Sie die PostGIS Erweiterung manuell zu einer vorhandenen AlloyDB Omni Installation hinzufügen. Mit der PostGIS-Erweiterung können Sie Geodaten speichern, indexieren und abfragen.

Hinweis

Installieren Sie AlloyDB Omni mit dem RPM-Orchestrator.

PostGIS zu Ihrer AlloyDB Omni-Installation hinzufügen

So fügen Sie die PostGIS-Erweiterung Ihrem AlloyDB Omni-Cluster hinzu: Führen Sie die folgenden Schritte manuell auf allen Datenbankknoten aus, einschließlich der Knoten des Lesepools in Ihrem Cluster.
  1. Fordern Sie Zugriff auf das AlloyDB Omni mit RPM an.

  2. Initialisieren Sie den Red Hat Subscription Manager auf der VM, auf der Sie den AlloyDB Omni-Server installiert haben:

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

    Ersetzen Sie Folgendes:

    • RHSM_USER: der Nutzer des Red Hat Subscription Manager
    • RHSM_PASS: das Passwort des Red Hat Subscription Manager
  3. Aktivieren Sie das CodeReady Builder-Repository:

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

    Ersetzen Sie ARCH durch die RHEL-Architektur, die Sie verwenden möchten, z. B. x86_64.

  4. Fügen Sie das PostgreSQL-Yum-Repository hinzu:

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  5. Installieren Sie den PostgreSQL-Server und die Entwicklungspakete:

    sudo dnf install -y "postgresql18-server"
    

    Ersetzen Sie OMNI_VERSION durch die AlloyDB Omni-Versionsnummer, die 18 ist.

  6. Installieren Sie die PostGIS-Erweiterung:

    sudo dnf install -y postgis35_18
    
  7. Erstellen Sie die erforderlichen Symlinks, damit sich die Erweiterungen in den erwarteten Pfaden befinden:

    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
    
  8. Stellen Sie eine Verbindung zu Ihrer Datenbank her und führen Sie den Befehl CREATE EXTENSION aus, um PostGIS zu aktivieren:

    Eine Anleitung zum Herstellen einer Verbindung zu Ihrer Instanz finden Sie unter Verbindung zu AlloyDB Omni herstellen.

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  9. Prüfen Sie, ob PostGIS installiert und aktiviert ist:

    SELECT postgis_full_version();
    

    Die Ausgabe sieht etwa so aus:

    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)