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
Gunakan PostgreSQL CLI untuk terhubung ke instance ApsaraDB RDS for PostgreSQL.
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.
CatatanPada 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.
Gunakan PostgreSQL CLI untuk terhubung ke instance RDS Anda.
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.
CatatanPada 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.
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;CatatanAnda 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' ;