Compartilhar via


Extensões de PostgreSQL no Azure Cosmos DB for PostgreSQL

APLICA-SE AO: Azure Cosmos DB for PostgreSQL (da plataforma da extensão de dados Citus para PostgreSQL)

O PostgreSQL estende a funcionalidade do banco de dados usando extensões. As extensões permitem o agrupamento de vários objetos SQL relacionados em um único pacote que pode ser carregado ou removido de seu banco de dados com um único comando. Após serem carregadas no banco de dados, as extensões funcionam como recursos internos. Para saber mais sobre extensões PostgreSQL, consulte Empacotar objetos relacionados em uma extensão.

Usar extensões do PostgreSQL

As extensões PostgreSQL devem ser instaladas no banco de dados para que você possa usá-las. Para instalar uma extensão específica, execute o comando CREATE EXTENSION na ferramenta psql para carregar os objetos empacotados em seu banco de dados.

Observação

Se CREATE EXTENSION falhar com o erro de permissão negada, tente a função create_extension(). Por exemplo:

SELECT create_extension('postgis');

Para remover uma extensão instalada dessa maneira, use drop_extension().

No momento, o Azure Cosmos DB for PostgreSQL dá suporte a um subconjunto de extensões-chave, conforme listado aqui. Não há suporte para extensões que não aquelas listadas. Não é possível criar sua própria extensão com o Azure Cosmos DB for PostgreSQL.

Extensões com suporte do Azure Cosmos DB for PostgreSQL

As tabelas a seguir listam as extensões PostgreSQL padrão que têm suporte no Azure Cosmos DB for PostgreSQL. Essas informações também estão disponíveis por meio da execução de SELECT * FROM pg_available_extensions;.

As versões de cada extensão instalada em um cluster às vezes diferem com base na versão do PostgreSQL (11, 12, 13, 14, 15 ou 16). As tabelas listam versões de extensão por versão do banco de dados.

Extensão Citus

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Banco de dados distribuído Citus. 9,5 10.2 11.3 12.1 12.1 12.1

Extensões de tipos de dados

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext Fornece um tipo de cadeia de caracteres que não diferencia maiúsculas de minúsculas. 1.5 1.6 1.6 1.6 1.6 1.6
cube Fornece um tipo de dados para cubos multidimensionais. 1.4 1.4 1.4 1.5 1.5 1.5
hll Fornece uma estrutura de dados HyperLogLog. 2.18 2.18 2.18 2.18 2.18 2.18
hstore Fornece um tipo de dados para armazenar conjuntos de pares chave-valor. 1.5 1.6 1.7 1.8 1.8 1.8
isn Fornece tipos de dados para padrões de numeração de produto internacionais. 1.2 1.2 1.2 1.2 1.2 1.2
lo Manutenção de Objeto Grande. 1,1 1,1 1,1 1,1 1,1 1,1
ltree Fornece um tipo de dados para estruturas semelhantes a árvores hierárquicas. 1,1 1,1 1,2 1.2 1.2 1.2
seg Tipo de dados para representar segmentos de linha ou intervalos de ponto flutuante. 1,3 1,3 1,3 1.4 1.4 1.4
tdigest Tipo de dados para acumulação online de estatísticas baseadas em classificação, como médias quantil e truncada. 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn Tipo para top-n JSONB. 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

Extensões de pesquisa de texto completo

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int Fornece um modelo de dicionário de pesquisa de texto para números inteiros. 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn Modelo de dicionário de pesquisa de texto para processamento estendido de sinônimo. 1.0 1.0 1.0 1.0 1.0 1.0
unaccent Um dicionário de pesquisa de texto que remove acentos (sinais diacríticos) dos lexemas. 1,1 1,1 1,1 1,1 1,1 1,1

Extensões de funções

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc Funções para incrementar campos automaticamente. 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance Fornece um meio para calcular as distância ortodrômicas na superfície da Terra. 1,1 1,1 1,1 1,1 1,1 1,1
fuzzystrmatch Fornece várias funções para determinar semelhanças e a distância entre cadeias de caracteres. 1,1 1,1 1,1 1,1 1,1 1.2
insert_username Funções para controlar quem alterou uma tabela. 1.0 1.0 1.0 1.0 1.0 1.0
intagg Agregador inteiro e enumerador (obsoleto). 1,1 1,1 1,1 1,1 1,1 1,1
intarray Fornece funções e operadores para manipular matrizes de inteiros sem nulos. 1.2 1.2 1,3 1.5 1.5 1.5
moddatetime Funções para controlar a hora da última modificação. 1.0 1.0 1.0 1.0 1.0 1.0
orafce Funções e operadores que emulam um subconjunto de funções e pacotes do Oracle RDBMS. 4.9 4.9 4.9
pg_partman Gerencia as tabelas de partição por hora ou ID. 4.7.4 4.7.4 4.7.4 5.1.0 5.1.0 5.1.0
pg_surgery Funções para executar uma cirurgia em uma relação danificada. 1.0 1.0 1.0
pg_trgm Fornece funções e operadores para determinar a semelhança de texto alfanumérico, com base na correspondência de trigram. 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto Fornece funções de criptografia. 1,3 1,3 1,3 1,3 1,3 1,3
refint Funções para implementar a integridade referencial (obsoleto). 1.0 1.0 1.0 1.0 1.0 1.0
tablefunc Fornece funções que manipulam tabelas inteiras, incluindo a tabela de referência cruzada. 1.0 1.0 1.0 1.0 1.0 1.0
tcn Notificações de alteração disparadas. 1.0 1.0 1.0 1.0 1.0 1.0
timetravel Funções para implementação de viagem de tempo. 1.0
uuid-ossp Gera UUIDs (identificadores exclusivos universais). 1,1 1,1 1,1 1,1 1,1 1,1

Extensões de tipos de índice

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
bloom Método de acesso bloom – índice baseado em arquivo de assinatura. 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin Fornece classes de operador GIN de exemplo que implementam um comportamento como da árvore B para certos tipos de dados. 1,3 1,3 1,3 1,3 1,3 1,3
btree_gist Fornece classes de operador de índice GiST que implementam a árvore B. 1.5 1.5 1.5 1.6 1.7 1.7

Extensões de linguagem

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql Linguagem de procedimento carregável PL/pgSQL. 1.0 1.0 1.0 1.0 1.0 1.0

Extensões diversas

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck Funções para verificar a integridade da relação. 1,1 1,2 1.2 1,3 1,3 1,3
dblink Um módulo que suporta conexões com outros bancos de dados do PostgreSQL de dentro de uma sessão de banco de dados. Consulte a seção "dblink e postgres_fdw" para obter informações sobre essa extensão. 1.2 1.2 1.2 1.2 1.2 1.2
old_snapshot Permite a inspeção do estado do servidor usado para implementar old_snapshot_threshold. 1.0 1.0 1.0
pageinspect Inspecione o conteúdo das páginas do banco de dados em um nível baixo. 1.7 1.7 1.8 1,9 1.11 1.12
pg_azure_storage Integração do Azure para PostgreSQL. 1,3 1,3 1,3 1,3
pg_buffercache Fornece um meio para examinar o que está acontecendo no cache do buffer compartilhado em tempo real. 1,3 1,3 1,3 1,3 1,3 1.4
pg_cron Agendador de trabalhos para PostgreSQL. 1.5 1.6 1.6 1.6 1.6 1.6
pg_freespacemap Examina o mapa de espaço livre (FSM). 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm Fornece uma maneira para carregar dados de relação no cache de buffer. 1.2 1.2 1.2 1.2 1.2 1.2
pg_stat_statements Fornece um meio para rastrear as estatísticas de execução de todas as instruções SQL executadas por um servidor. Consulte a seção "pg_stat_statements" para obter informações sobre essa extensão. 1.6 1.7 1.8 1,9 1,10 1,10
pg_visibility Examine a VM (mapa de visibilidade) e as informações de visibilidade no nível da página. 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks Fornece um meio para mostrar informações de bloqueio de nível de linha. 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple Fornece um meio para mostrar estatísticas em nível de tupla. 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw Wrapper de dados externos usado para acessar dados armazenados em servidores PostgreSQL externos. Consulte a seção "dblink e postgres_fdw" para obter informações sobre essa extensão. 1.0 1.0 1.0 1,1 1,1 1,1
sslinfo Informações sobre certificados TLS/SSL. 1.2 1.2 1.2 1.2 1.2 1.2
tsm_system_rows Método TABLESAMPLE, que aceita o número de linhas como um limite. 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time Método TABLESAMPLE, que aceita o tempo em milissegundos como um limite. 1.0 1.0 1.0 1.0 1.0 1.0
xml2 Consulta XPath e XSLT. 1,1 1,1 1,1 1,1 1,1 1,1

Extensão pgvector

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector Pesquisa de similaridade de vetor de código aberto para Postgres 0.5.1 0.7.0 0.7.0 0.7.0 0.7.0 0.7.0

Extensões PostGIS

Extensão Descrição PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS Objetos espaciais e geográficos para PostgreSQL. 3.3.4 3.4.1 3.4.1 3.4.1 3.4.1 3.4.1
address_standardizer Usado para analisar um endereço em elementos constituintes. Usado para oferecer suporte à etapa de normalização de endereços de geocodificação. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_sfcgal Funções SFCGAL do PostGIS. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_topology Tipos e funções espaciais da topologia do PostGIS. 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2

pg_stat_statements

A extensão pg_stat_statements é pré-carregada em cada servidor do Azure Cosmos DB for PostgreSQL para fornecer a você uma forma de acompanhar as estatísticas de execução das instruções SQL.

A configuração pg_stat_statements.track controla quais instruções são contadas pela extensão. Ele usa como padrão top, o que significa que todas as instruções emitidas diretamente pelos clientes são controladas. Dois outros níveis de rastreamento são none e all.

Há um equilíbrio entre as informações de execução de consulta fornecida por pg_stat_statements e o impacto no desempenho do servidor, que registra cada instrução SQL. Se você não está usando ativamente a extensão pg_stat_statements, recomendamos que você defina pg_stat_statements.track como none. Alguns serviços de monitoramento de terceiros podem depender de pg_stat_statements para fornecer análises de desempenho de consultas, portanto confirme se este é ou não o seu caso.

Com dblink e postgres_fdw, você pode se conectar de um servidor PostgreSQL a outro ou a outro banco de dados no mesmo servidor. O servidor de recebimento precisa permitir conexões do servidor de envio por meio de seu firewall. Para usar essas extensões para se conectar entre clusters do Azure Cosmos DB for PostgreSQL com acesso público, configure Permitir que os serviços e recursos do Azure acessem esse cluster (ou servidor) como ATIVADO. Você também precisará ativar essa configuração se quiser usar as extensões para fazer um loop de volta para o mesmo servidor. A configuração Permitir que os serviços e recursos do Azure acessem este cluster pode ser encontrada na página do portal do Azure para o cluster em Rede. Atualmente, não há suporte para conexões de saída do Azure Cosmos DB for PostgreSQL.

extensão orafce

As funções utl_file estão desabilitadas na extensão orafce.

Próximas etapas