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

בוחרים גרסת תיעוד:

כדי לאחסן נתונים גיאו-מרחביים ב-AlloyDB Omni, להוסיף אותם לאינדקס ולשלוח שאילתות לגביהם, אתם יכולים להוסיף ידנית את תוסף PostGIS להתקנה.

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

מתקינים את AlloyDB Omni במערכת.

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

כדי להוסיף את התוסף PostGIS להתקנה של AlloyDB Omni:
  1. מפעילים את 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.
  2. מפעילים את המאגר של CodeReady Builder:

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

    מחליפים את ARCH בארכיטקטורת RHEL שבה רוצים להשתמש, לדוגמה x86_64.

  3. מוסיפים את מאגר 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. מתקינים את התוסף PostGIS:

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

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

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

    CREATE EXTENSION IF NOT EXISTS POSTGIS;
    
  7. מוודאים ש-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)