התקנה של PostGIS ל-AlloyDB Omni

בוחרים גרסה של מאמר העזרה:

בדף הזה מוסבר איך להוסיף ידנית את התוסף PostGIS להתקנה קיימת של AlloyDB Omni. התוסף PostGIS מאפשר לאחסן נתונים גיאו-מרחביים, ליצור להם אינדקס ולהריץ עליהם שאילתות.

לפני שמתחילים

התקנה של AlloyDB Omni באמצעות כלי הניהול של RPM.

הוספת PostGIS להתקנת AlloyDB Omni

כדי להוסיף את התוסף PostGIS לאשכול AlloyDB Omni, צריך לבצע את השלבים הבאים באופן ידני בכל צמתי מסד הנתונים, כולל צמתי מאגר הקריאה באשכול.
  1. בקשת גישה ל-AlloyDB Omni באמצעות RPM.

  2. מאתחלים את Red Hat Subscription Manager במכונה הווירטואלית שבה התקנתם את שרת AlloyDB Omni:

    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. מוסיפים את מאגר ה-Yum של PostgreSQL:

    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 "postgresql18-server"
    

    מחליפים את OMNI_VERSION במספר הגרסה של AlloyDB Omni, שהוא 18.

  6. מתקינים את התוסף PostGIS:

    sudo dnf install -y postgis35_18
    
  7. יוצרים את הקישורים הסימבוליים הנדרשים כדי שהתוספים יהיו בנתיבים הצפויים:

    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. מתחברים למסד הנתונים ומריצים את הפקודה CREATE EXTENSION כדי להפעיל את PostGIS:

    הוראות לחיבור למופע זמינות במאמר חיבור ל-AlloyDB Omni.

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  9. מוודאים ש-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.18.1" PROJ="9.1.1" LIBXML="2.9.14" LIBJSON="0.16" LIBPROTOBUF="1.4.1" WAGYU="0.5.0 (Internal)"
    (1 row)