Share via


Usar extensões PostgreSQL em seu servidor PostgreSQL habilitado para Azure Arc

O PostgreSQL está no seu melhor quando você o usa com extensões.

Nota

Como funcionalidade de pré-visualização, a tecnologia apresentada neste artigo está sujeita aos Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure.

As atualizações mais recentes estão disponíveis nas notas de versão.

Extensões suportadas

As seguintes extensões são implantadas por padrão nos contêineres do seu servidor PostgreSQL habilitado para Azure Arc, algumas delas são extensões padrão 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

As atualizações a esta lista serão publicadas à medida que evolui ao longo do tempo.

Habilitar extensões no servidor PostgreSQL habilitado para Arc

Você pode criar um servidor PostgreSQL habilitado para Arc com qualquer uma das extensões suportadas habilitadas passando uma lista separada por vírgulas de extensões para o --extensions parâmetro do create comando.

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

NOTA: As extensões ativadas são adicionadas à configuração shared_preload_libraries. As extensões devem ser instaladas em seu banco de dados antes que você possa usá-lo. Para instalar uma extensão específica, você deve executar o CREATE EXTENSION comando. Este comando carrega os objetos empacotados em seu banco de dados.

Por exemplo, conecte-se ao seu banco de dados e emita o seguinte comando PostgreSQL para instalar a extensão pgaudit:

CREATE EXTENSION pgaudit;

Atualizar as extensões

Você pode adicionar ou remover extensões de um servidor PostgreSQL habilitado para Arc existente.

Você pode executar o comando kubectl describe para obter a lista atual de extensões habilitadas:

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

Se houver extensões habilitadas, a saída conterá uma seção como esta:

  config:
    postgreSqlExtensions: pgaudit,pg_partman

Verifique se a extensão está instalada depois de se conectar ao banco de dados executando o seguinte comando PostgreSQL:

select * from pg_extension;

Habilite novas extensões acrescentando-as à lista existente ou remova extensões removendo-as da lista existente. Passe a lista desejada para o comando update. Por exemplo, para adicionar pgcrypto e remover pg_partman do servidor no exemplo acima:

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

Uma vez que a lista de extensões permitidas é atualizada. Conecte-se ao banco de dados e instale a extensão recém-adicionada pelo seguinte comando:

CREATE EXTENSION pgcrypto;

Da mesma forma, para remover uma extensão de um banco de dados existente, execute o comando DROP EXTENSION :

DROP EXTENSION pg_partman;

Mostrar a lista de extensões instaladas

Conecte-se ao seu banco de dados com a ferramenta cliente de sua escolha e execute a consulta PostgreSQL padrão:

select * from pg_extension;
  • Experimente. Comece rapidamente com o Azure Arc Jumpstart no Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) ou em uma VM do Azure.