すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:GanosBaseの拡張機能を更新する

最終更新日:Oct 23, 2024

の拡張機能は、 GanosBaseには、Alibaba Cloudが開発した拡張機能とPostGIS拡張機能が含まれます。 このトピックでは、拡張機能を更新する方法について説明します。

Alibaba Cloudが開発した拡張機能の更新 GanosBase

のインストール済み拡張機能を照会します。 GanosBase

  1. PostgreSQL CLIを使用して、ApsaraDB RDS for PostgreSQLインスタンスに接続します。

  2. 次のSQL文を実行して、 GanosBase:

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

    サンプル出力:

                    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
    ...

    パラメーター

    説明

    name

    拡張機能の名前。

    default_version

    RDSインスタンスにインストールできる拡張機能のバージョン。

    installed_version

    RDSインスタンスにインストールされている拡張機能のバージョン。

    comment

    拡張機能の説明。

    need_update

    更新が必要かどうかを示します。

    説明

    サンプル出力で、need_updateパラメーターの値がtの場合、更新が必要です。

Alibaba Cloudが開発した拡張機能の更新GanosBase

  • の拡張機能のバージョンが GanosBaseが3.1以降である場合は、次のステートメントを実行して、 GanosBase:

    SELECT ganos_update();
  • の拡張機能のバージョンが GanosBaseは3.1よりも早く、すべての自己開発拡張機能を更新する関数を作成します。 ガノスベース 次のコードスニペットは例です。

    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;

PostGIS拡張の更新

インストールされているPostGIS拡張機能を照会します。

  1. PostgreSQL CLIを使用してRDSインスタンスに接続します。

  2. 次のSQL文を実行して、インストールされているPostGIS拡張機能を照会します。

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

    サンプル出力:

              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
     ...

    パラメーター

    説明

    name

    拡張機能の名前。

    default_version

    RDSインスタンスにインストールできる拡張機能のバージョン。

    installed_version

    RDSインスタンスにインストールされている拡張機能のバージョン。

    comment

    拡張機能の説明。

    need_update

    更新が必要かどうかを示します。

    説明

    サンプル出力で、need_updateパラメーターの値がtの場合、更新が必要です。

PostGIS拡張機能の更新

PostGIS拡張機能を更新する方法は、RDSインスタンスのメジャーエンジンバージョンによって異なります。

説明

次の操作は、単一のデータベースにのみ適用できます。 RDSインスタンスに複数のデータベースが含まれている場合、各データベースに対して次の操作を実行する必要があります。

  • RDSインスタンスがPostgreSQL 10、PostgreSQL 13、PostgreSQL 14、またはPostgreSQL 15を実行している場合、次の方法を使用してRDSインスタンスのPostGIS拡張機能を更新できます。

    次のSQL文を実行します。

    ALTER EXTENSION <Extension name> UPDATE;
    説明
    • 上記のステートメントを実行して、各拡張機能を更新する必要があります。

    • PostGIS_Extensions_Upgrade関数を呼び出して、PostGIS拡張機能を更新することもできます。 詳細については、「PostGIS_Extensions_Upgrade」をご参照ください。

    SELECT PostGIS_Extensions_Upgrade();
  • RDSインスタンスがPostgreSQL 11またはPostgreSQL 12を実行している場合、次の方法を使用してRDSインスタンスのPostGIS拡張機能を更新できます。

    次のSQL文を実行します。

    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' ;