Delen via


PostgreSQL-extensies gebruiken op uw PostgreSQL-server met Azure Arc

PostgreSQL is het beste wanneer u deze gebruikt met extensies.

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

Ondersteunde extensies

De volgende extensies worden standaard geïmplementeerd in de containers van uw PostgreSQL-server met Azure Arc, waarvan sommige standaardextensies contrib zijn:

  • 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

Updates voor deze lijst worden in de loop van de tijd gepost.

Extensies inschakelen in PostgreSQL-server met Arc

U kunt een PostgreSQL-server met Arc maken waarvoor een van de ondersteunde extensies is ingeschakeld door een door komma's gescheiden lijst met extensies door te geven aan de --extensions parameter van de create opdracht.

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

OPMERKING: Ingeschakelde extensies worden toegevoegd aan de configuratie shared_preload_libraries. Extensies moeten worden geïnstalleerd in uw database voordat u deze kunt gebruiken. Als u een bepaalde extensie wilt installeren, moet u de CREATE EXTENSION opdracht uitvoeren. Met deze opdracht worden de verpakte objecten in uw database geladen.

Maak bijvoorbeeld verbinding met uw database en geef de volgende PostgreSQL-opdracht uit om de pgaudit-extensie te installeren:

CREATE EXTENSION pgaudit;

Extensies bijwerken

U kunt extensies toevoegen aan of verwijderen van een bestaande PostgreSQL-server met Arc.

U kunt de opdracht kubectl describe uitvoeren om de huidige lijst met ingeschakelde extensies op te halen:

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

Als er extensies zijn ingeschakeld, bevat de uitvoer een sectie zoals deze:

  config:
    postgreSqlExtensions: pgaudit,pg_partman

Controleer of de extensie is geïnstalleerd nadat u verbinding hebt gemaakt met de database door de volgende PostgreSQL-opdracht uit te voeren:

select * from pg_extension;

Schakel nieuwe extensies in door ze toe te voegen aan de bestaande lijst of extensies te verwijderen door ze uit de bestaande lijst te verwijderen. Geef de gewenste lijst door aan de opdracht Update. Als u bijvoorbeeld wilt toevoegen pgcrypto aan en verwijderen pg_partman van de server in het bovenstaande voorbeeld:

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

Zodra de lijst met toegestane extensies is bijgewerkt. Maak verbinding met de database en installeer de zojuist toegevoegde extensie met de volgende opdracht:

CREATE EXTENSION pgcrypto;

Als u een extensie uit een bestaande database wilt verwijderen, voert u de opdracht DROP EXTENSION uit:

DROP EXTENSION pg_partman;

De lijst met geïnstalleerde extensies weergeven

Maak verbinding met uw database met het clienthulpprogramma van uw keuze en voer de standaard PostgreSQL-query uit:

select * from pg_extension;
  • Probeer het maar eens. Ga snel aan de slag met Azure Arc Jumpstart op Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) of in een Azure-VM.