Udostępnij za pośrednictwem


Używanie rozszerzeń PostgreSQL na serwerze PostgreSQL z obsługą usługi Azure Arc

Usługa PostgreSQL jest w najlepszym wydaniu, gdy używasz go z rozszerzeniami.

[! INCLUDE [azure-arc-data-preview](./include/azure-arc-data-preview.md]

Obsługiwane rozszerzenia

Następujące rozszerzenia są domyślnie wdrażane w kontenerach serwera PostgreSQL z obsługą usługi Azure Arc. Niektóre z nich są standardowymi contrib rozszerzeniami:

  • address_standardizer_data_us 3.3.1
  • adminpack 2.1
  • amcheck 1.3
  • autoinc 1
  • bloom 1
  • btree_gin 1.3
  • btree_gist 1.6
  • citext 1.6
  • cube 1.5
  • dblink 1.2
  • dict_int 1
  • dict_xsyn 1
  • earthdistance 1.1
  • file_fdw 1
  • fuzzystrmatch 1.1
  • hstore 1.8
  • hypopg 1.3.1
  • insert_username 1
  • intagg 1.1
  • intarray 1.5
  • isn 1.2
  • lo 1.1
  • ltree 1.2
  • moddatetime 1
  • old_snapshot 1
  • orafce 4
  • pageinspect 1.9
  • pg_buffercache 1.3
  • pg_cron 1.4-1
  • pg_freespacemap 1.2
  • pg_partman 4.7.1
  • pg_prewarm 1.2
  • pg_repack 1.4.8
  • pg_stat_statements 1.9
  • pg_surgery 1
  • pg_trgm 1.6
  • pg_visibility 1.2
  • pgaudit 1.7
  • pgcrypto 1.3
  • pglogical 2.4.2
  • pglogical_origin 1.0.0
  • pgrouting 3.4.1
  • pgrowlocks 1.2
  • pgstattuple 1.5
  • plpgsql 1
  • postgis 3.3.1
  • postgis_raster 3.3.1
  • postgis_tiger_geocoder 3.3.1
  • postgis_topology 3.3.1
  • postgres_fdw 1.1
  • refint 1
  • seg 1.4
  • sslinfo 1.2
  • tablefunc 1
  • tcn 1
  • timescaledb 2.8.1
  • tsm_system_rows 1
  • tsm_system_time 1
  • unaccent 1.1

Aktualizacje tej listy będą publikowane wraz z upływem czasu.

Włączanie rozszerzeń na serwerze PostgreSQL z obsługą usługi Arc

Serwer PostgreSQL z obsługą usługi Arc można utworzyć z dowolnym z obsługiwanych rozszerzeń, przekazując rozdzielaną przecinkami listę rozszerzeń do --extensions parametru create polecenia.

az postgres server-arc create -n <name> --k8s-namespace <namespace> --extensions "pgaudit,pg_partman" --use-k8s

UWAGA: Włączone rozszerzenia są dodawane do konfiguracji shared_preload_libraries. Rozszerzenia muszą być zainstalowane w bazie danych, aby można było z niej korzystać. Aby zainstalować określone rozszerzenie, należy uruchomić CREATE EXTENSION polecenie . To polecenie ładuje spakowane obiekty do bazy danych.

Na przykład nawiąż połączenie z bazą danych i wydaj następujące polecenie PostgreSQL, aby zainstalować rozszerzenie pgaudit:

CREATE EXTENSION pgaudit;

Aktualizowanie rozszerzeń

Możesz dodawać lub usuwać rozszerzenia z istniejącego serwera PostgreSQL z obsługą usługi Arc.

Aby uzyskać bieżącą listę rozszerzeń z włączonymi rozszerzeniami, możesz uruchomić polecenie kubectl describe:

kubectl describe postgresqls <server-name> -n <namespace>

Jeśli są włączone rozszerzenia, dane wyjściowe zawierają sekcję podobną do następującej:

  config:
    postgreSqlExtensions: pgaudit,pg_partman

Sprawdź, czy rozszerzenie jest zainstalowane po nawiązaniu połączenia z bazą danych, uruchamiając następujące polecenie PostgreSQL:

select * from pg_extension;

Włącz nowe rozszerzenia, dołączając je do istniejącej listy lub usuwając rozszerzenia, usuwając je z istniejącej listy. Przekaż żądaną listę do polecenia update. Aby na przykład dodać pgcrypto i usunąć pg_partman z serwera w powyższym przykładzie:

az postgres server-arc update -n <name> --k8s-namespace <namespace> --extensions "pgaudit,pgrypto" --use-k8s

Po zaktualizowaniu listy dozwolonych rozszerzeń. Połącz się z bazą danych i zainstaluj nowo dodane rozszerzenie za pomocą następującego polecenia:

CREATE EXTENSION pgcrypto;

Podobnie, aby usunąć rozszerzenie z istniejącej bazy danych, wydaj polecenie DROP EXTENSION :

DROP EXTENSION pg_partman;

Pokaż listę zainstalowanych rozszerzeń

Połącz się z bazą danych przy użyciu wybranego narzędzia klienckiego i uruchom standardowe zapytanie PostgreSQL:

select * from pg_extension;
  • Wypróbuj to. Szybko rozpocznij pracę z usługą Azure Arc Jumpstart w usłudze Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) lub na maszynie wirtualnej platformy Azure.