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

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

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

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

מוודאים שהתקנתם את AlloyDB Omni במערכת.

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

כדי להוסיף את התוסף PostGIS להתקנת AlloyDB Omni, פועלים לפי השלבים הבאים:

  1. כדי למצוא את תוויות הגרסה של AlloyDB Omni שהותקנו:

    Docker

    docker run --rm -it  google/alloydbomni cat VERSION.txt

    Podman

    podman run --rm -it  google/alloydbomni cat VERSION.txt

    הפלט אמור להיראות כך:

    AlloyDB Omni version: 15.12.0
    

    חשוב לשים לב למספר הגרסה של AlloyDB Omni, כי תצטרכו אותו בשלב הבא.

  2. מגדירים את משתנה הסביבה OMNI_VERSION:
    OMNI_VERSION=VERSION

    מחליפים את VERSION בגרסה המלאה של שרת מסד הנתונים מהשלב הקודם – לדוגמה, 15.12.0.

  3. יוצרים קונטיינר חדש של AlloyDB Omni שכולל את PostGIS:

    Linux

           mkdir ~/alloydb-omni-postgis
           tee ~/alloydb-omni-postgis/Dockerfile << EOF
           ARG OMNI_VERSION
           FROM google/alloydbomni:${OMNI_VERSION}
           RUN apt-get update && 
    apt-get install -y --no-install-recommends
    postgresql-15-postgis-3 &&
    apt-get purge -y --auto-remove &&
    rm -rf /var/lib/apt/lists/* EOF
    cd ~/alloydb-omni-postgis sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-postgis:$OMNI_VERSION .

    macOS

           mkdir ~/alloydb-omni-postgis
           tee ~/alloydb-omni-postgis/Dockerfile << EOF
           ARG OMNI_VERSION
           FROM google/alloydbomni:${OMNI_VERSION}
           RUN apt-get update && 
    apt-get install -y --no-install-recommends
    postgresql-15-postgis-3 &&
    apt-get purge -y --auto-remove &&
    rm -rf /var/lib/apt/lists/* EOF
    cd ~/alloydb-omni-postgis sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-postgis:$OMNI_VERSION .
  4. יוצרים קונטיינר חדש עם AlloyDB Omni בשם my-omni-postgis:

    Docker

    docker run --name my-omni-postgis  -e POSTGRES_PASSWORD=NEW_PASSWORD  -d google/alloydbomni-with-postgis:OMNI_VERSION

    Podman

    podman run --name my-omni-postgis  -e POSTGRES_PASSWORD=NEW_PASSWORD  -d google/alloydbomni-with-postgis:OMNI_VERSION
  5. מתחברים למסד הנתונים באמצעות התוסף PostGIS:

    docker exec -it my-omni-postgis psql -h localhost -U postgres
  6. הפעלת PostGIS:

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