Share via


Usare le estensioni PostgreSQL nel server PostgreSQL abilitato per Azure Arc

PostgreSQL è al meglio quando viene usato con le estensioni.

Nota

In quanto funzionalità di anteprima, la tecnologia presentata in questo articolo è soggetta alle condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure.

Gli aggiornamenti più recenti sono disponibili nelle note sulla versione.

Estensioni supportate

Le estensioni seguenti vengono distribuite per impostazione predefinita nei contenitori del server PostgreSQL abilitato per Azure Arc, alcune di esse sono estensioni standard contrib :

  • 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

Aggiornamenti a questo elenco verrà pubblicato man mano che si evolve nel tempo.

Abilitare le estensioni nel server PostgreSQL abilitato per Arc

È possibile creare un server PostgreSQL abilitato per Arc con una delle estensioni supportate abilitate passando un elenco delimitato da virgole di estensioni al --extensions parametro del create comando.

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

NOTA: le estensioni abilitate vengono aggiunte alla configurazione shared_preload_libraries. Le estensioni devono essere installate nel database prima di poterle usare. Per installare una particolare estensione, è necessario eseguire il CREATE EXTENSION comando . Questo comando carica gli oggetti in pacchetto nel database.

Ad esempio, connettersi al database ed eseguire il comando PostgreSQL seguente per installare l'estensione pgaudit:

CREATE EXTENSION pgaudit;

Aggiornare le estensioni

È possibile aggiungere o rimuovere estensioni da un server PostgreSQL abilitato per Arc esistente.

È possibile eseguire il comando kubectl describe per ottenere l'elenco corrente delle estensioni abilitate:

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

Se sono abilitate estensioni, l'output contiene una sezione simile alla seguente:

  config:
    postgreSqlExtensions: pgaudit,pg_partman

Verificare se l'estensione è installata dopo la connessione al database eseguendo il comando PostgreSQL seguente:

select * from pg_extension;

Abilitare le nuove estensioni aggiungendole all'elenco esistente o rimuovendole dall'elenco esistente. Passare l'elenco desiderato al comando di aggiornamento. Ad esempio, per aggiungere pgcrypto e rimuovere pg_partman dal server nell'esempio precedente:

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

Dopo aver aggiornato l'elenco delle estensioni consentite. Connessione al database e installare l'estensione appena aggiunta tramite il comando seguente:

CREATE EXTENSION pgcrypto;

Analogamente, per rimuovere un'estensione da un database esistente, eseguire il comando DROP EXTENSION :

DROP EXTENSION pg_partman;

Visualizzare l'elenco delle estensioni installate

Connessione al database con lo strumento client preferito ed eseguire la query PostgreSQL standard:

select * from pg_extension;
  • Provalo. Iniziare rapidamente a usare Azure Arc Jumpstart in servizio Azure Kubernetes (AKS), aws Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) o in una macchina virtuale di Azure.