全部产品
Search
文档中心

ApsaraDB RDS:Memperbarui ekstensi GanosBase

更新时间:Jun 25, 2025

Ekstensi GanosBase mencakup ekstensi yang dikembangkan oleh Alibaba Cloud dan PostGIS. Topik ini menjelaskan cara memperbarui ekstensi tersebut.

Memperbarui ekstensi yang dikembangkan oleh Alibaba Cloud untuk GanosBase

Memeriksa ekstensi terpasang dari GanosBase

  1. Gunakan PostgreSQL CLI untuk terhubung ke instance ApsaraDB RDS for PostgreSQL.

  2. Eksekusi pernyataan SQL berikut untuk memeriksa ekstensi terpasang dari GanosBase:

    SELECT
      *,
      installed_version < default_version AS need_update
    FROM
      pg_available_extensions
    WHERE
      name LIKE 'ganos%';

    Contoh keluaran:

                    name           | default_version | installed_version |                                                       comment                        | need_update
    -------------------------------+-----------------+-------------------+--------------------------------------------------------------------------------------+-------------
     ganos_trajectory              | 5.5             | 5.4               | Ganos trajectory extension for PostgreSQL                                            | t
     ganos_pointcloud_geometry     | 5.5             | 5.4               | Ganos_pointcloud LIDAR data and ganos_geometry data for PostgreSQL                   | t
     ganos_raster                  | 5.5             | 5.4               | Ganos raster extension for PostgreSQL                                                | t
     ganos_networking              | 5.5             | 5.4               | Ganos networking extension for PostgreSQL                                            | t
     ganos_geometry_pyramid        | 5.5             | 5.4               | Ganos Geometry Pyramid extension for PostgreSQL                                      | t
     ganos_scene                   | 5.5             | 5.4               | Ganos scene extension for PostgreSQL                                                 | t
     ganos_geometry_topology       | 5.5             | 5.4               | Ganos geometry topology spatial types and functions extension for PostgreSQL         | t
     ganos_tiger_geocoder          | 5.5             | 5.4               | Ganos tiger geocoder and reverse geocoder                                            | t
     ganos_importer                | 5.5             | 5.4               | Ganos Spatial importer extension for PostgreSQL                                      | t
     ganos_vomesh                  | 5.5             | 5.4               | Ganos volumn mesh extension for PostgreSQL                                           | t
    ...

    Parameter

    Deskripsi

    name

    Nama dari ekstensi.

    default_version

    Versi ekstensi yang dapat diinstal pada instance RDS.

    installed_version

    Versi ekstensi yang telah diinstal pada instance RDS.

    comment

    Deskripsi dari ekstensi.

    need_update

    Menunjukkan apakah pembaruan diperlukan.

    Catatan

    Pada contoh keluaran, jika nilai parameter need_update adalah t, pembaruan diperlukan.

Memperbarui ekstensi yang dikembangkan oleh Alibaba Cloud untuk GanosBase

  • Jika versi ekstensi GanosBase adalah 3.1 atau lebih baru, eksekusi pernyataan berikut untuk memperbarui semua ekstensi GanosBase:

    SELECT ganos_update();
  • Jika versi ekstensi GanosBase lebih lama dari 3.1, buat fungsi untuk memperbarui semua ekstensi mandiri GanosBase. Contoh potongan kode berikut:

    CREATE OR REPLACE FUNCTION ganos_update()
        RETURNS text AS
    $$
    DECLARE
        rec RECORD;
        sql text;
    BEGIN
        FOR rec IN
            SELECT extname
            FROM pg_extension
            WHERE extname like 'ganos_%'
            LOOP
                sql = 'ALTER EXTENSION '
                    || rec.extname
                    || ' UPDATE ';
                RAISE NOTICE '%', sql;
                EXECUTE sql;
            END LOOP;
        return 'All Ganos extensions have updated to latest version';
    END
    $$ LANGUAGE 'plpgsql' volatile STRICT;

Memperbarui ekstensi PostGIS

Memeriksa ekstensi PostGIS yang telah diinstal.

  1. Gunakan PostgreSQL CLI untuk terhubung ke instance RDS Anda.

  2. Eksekusi pernyataan SQL berikut untuk memeriksa ekstensi PostGIS yang telah diinstal:

    SELECT
      *,
      installed_version < default_version AS need_update
    FROM
      pg_available_extensions
    WHERE
      name LIKE 'postgis%';

    Contoh keluaran:

              name          | default_version | installed_version |              comment               | need_update 
    ------------------------+-----------------+-------------------+------------------------------------+-------------
     postgis                | 3.3.2           | 3.1.4             | Ganos PostGIS+                     | t
     postgis_tiger_geocoder | 3.3.2           | 3.1.4             | Ganos PostGIS+ tiger geocoder      | t
     postgis_raster         | 3.3.2           | 3.1.4             | PostGIS raster types and functions | t
     ...

    Parameter

    Deskripsi

    name

    Nama dari ekstensi.

    default_version

    Versi ekstensi yang dapat diinstal pada instance RDS.

    installed_version

    Versi ekstensi yang telah diinstal pada instance RDS.

    comment

    Deskripsi dari ekstensi.

    need_update

    Menunjukkan apakah pembaruan diperlukan.

    Catatan

    Pada contoh keluaran, jika nilai parameter need_update adalah t, pembaruan diperlukan.

Memperbarui ekstensi PostGIS

Metode untuk memperbarui ekstensi PostGIS bervariasi berdasarkan versi mesin utama dari instance RDS.

Catatan

Operasi berikut hanya berlaku untuk satu database tunggal. Jika instance RDS berisi beberapa database, Anda harus melakukan operasi berikut pada setiap database.

  • Jika instance RDS menjalankan PostgreSQL 10, PostgreSQL 13, PostgreSQL 14, atau PostgreSQL 15, Anda dapat menggunakan metode berikut untuk memperbarui ekstensi PostGIS untuk instance RDS:

    Eksekusi pernyataan SQL berikut:

    ALTER EXTENSION <Extension name> UPDATE;
    Catatan
    • Anda harus mengeksekusi pernyataan di atas untuk memperbarui setiap ekstensi.

    • Anda juga dapat memanggil fungsi PostGIS_Extensions_Upgrade untuk memperbarui ekstensi PostGIS. Untuk informasi lebih lanjut, lihat PostGIS_Extensions_Upgrade.

    SELECT PostGIS_Extensions_Upgrade();
  • Jika instance RDS menjalankan PostgreSQL 11 atau PostgreSQL 12, Anda dapat menggunakan metode berikut untuk memperbarui ekstensi PostGIS untuk instance RDS:

    Eksekusi pernyataan SQL berikut:

    do
    $$
    DECLARE
        with_pgis boolean;
        with_ganos boolean;
    BEGIN
        SELECT ((SELECT 1 FROM pg_extension WHERE extname='postgis') IS NOT null)
        INTO with_pgis;
    
        SELECT ((SELECT 1 FROM pg_extension WHERE extname='ganos_geometry') IS NOT null)
        INTO with_ganos;
    
        IF with_pgis AND with_ganos THEN
            PERFORM ganos_update();
        ELSIF with_ganos THEN
            PERFORM ganos_update();
        ELSIF with_pgis THEN
            PERFORM PostGIS_Extensions_Upgrade();
        END IF;
    
        return 'PostGIS has update to ' || postgis_lib_version();
    END
    $$ LANGUAGE 'plpgsql' ;