GanosBase 時空間エンジンのプラグインには、Alibaba Cloud が開発した GanosBase プラグインと PostGIS プラグインがあります。このトピックでは、これらのプラグインをアップグレードする方法について説明します。
GanosBase プラグイン
インストール済みの GanosBase プラグインの照会
PostgreSQL のコマンドラインツールを使用してデータベースに接続します。
次の 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
現在のデータベースにインストール可能な最新バージョン。
installed_version
現在インストールされているバージョン。
comment
プラグインの説明。
need_update
アップグレードが必要かどうかを示します。
説明照会結果で need_update 列の値が t の場合は、アップグレードが必要です。
GanosBase プラグインのアップグレード
GanosBase プラグインのバージョンが 3.1 以降の場合は、次の SQL ステートメントを実行してすべての GanosBase プラグインをアップグレードします。
SELECT ganos_update();GanosBase プラグインのバージョンが 3.1 より前の場合は、次の SQL ステートメントを実行して、すべての GanosBase プラグインをアップグレードするための関数を作成します。
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 been updated to the latest version'; END $$ LANGUAGE 'plpgsql' volatile STRICT;
PostGIS プラグイン
手順 1:インストール済みの PostGIS プラグインの照会
PostgreSQL のコマンドラインツールを使用してデータベースに接続します。
次の 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
現在のデータベースにインストール可能な最新バージョン。
installed_version
現在インストールされているバージョン。
comment
プラグインの説明。
need_update
アップグレードが必要かどうかを示します。
説明照会結果で need_update 列の値が t の場合は、アップグレードが必要です。
手順 2:PostGIS プラグインのアップグレード
PostGIS プラグインのアップグレード方法は、RDS PostgreSQL インスタンスのメジャーバージョンによって異なります。
この操作は、単一のデータベースでのみ有効です。インスタンスに複数のデータベースがある場合は、データベースごとにこれらの手順を繰り返す必要があります。
RDS PostgreSQL のメジャーバージョンが 10、13、14、または 15 の場合は、次の手順でアップグレードします。
次の SQL ステートメントを実行して PostGIS プラグインをアップグレードします。
ALTER EXTENSION <plug-in_name> UPDATE;説明このステートメントは、プラグインごとに個別に実行する必要があります。
また、
PostGIS_Extensions_Upgrade関数を実行してプラグインをアップグレードすることもできます。詳細については、「PostGIS_Extensions_Upgrade」をご参照ください。
SELECT PostGIS_Extensions_Upgrade();RDS PostgreSQL のメジャーバージョンが 11 および 12 の場合は、次の手順でアップグレードします。
次の SQL ステートメントを実行して PostGIS プラグインをアップグレードします。
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; END $$ LANGUAGE 'plpgsql' ;重要一部の RDS PostgreSQL 11 および 12 インスタンスでは、PostGIS プラグインは Ganos を使用して実装されています。この SQL 文を実行したときに
ERROR: RETURN cannot have a parameter in function returning voidのようなエラーが表示された場合、SELECT postgis_lib_version();コマンドを実行して、PostGIS プラグインが正常にアップグレードされたことを確認する必要があります。