Extensões do PostgreSQL no Azure Cosmos DB para PostgreSQL

APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)

O PostgreSQL estende a funcionalidade do seu banco de dados usando extensões. As extensões permitem agrupar vários objetos SQL relacionados em um único pacote que pode ser carregado ou removido do banco de dados com um único comando. Depois do carregamento para a base de dados, as extensões podem funcionar como funcionalidades incorporadas. Para obter mais informações sobre extensões PostgreSQL, consulte Objetos relacionados ao pacote em uma extensão.

Usar extensões PostgreSQL

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

Nota

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

SELECT create_extension('postgis');

Para remover uma extensão instalada desta forma, use drop_extension().

Atualmente, o Azure Cosmos DB para PostgreSQL dá suporte a um subconjunto de extensões de chave, conforme listado aqui. Não há suporte para extensões diferentes das listadas. Não é possível criar sua própria extensão com o Azure Cosmos DB para PostgreSQL.

Extensões suportadas pelo Azure Cosmos DB para PostgreSQL

As tabelas a seguir listam as extensões padrão do PostgreSQL com suporte no Azure Cosmos DB para PostgreSQL. Esta informação também está disponível através da execução 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 de banco de dados.

Extensão Citus

Extensão Descrição PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 16
citus Base de dados distribuída Citus. 9.5 10.2 11,3 12,1 12,1 12,1

Extensões de tipos de dados

Extensão Descrição PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 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
cubo 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
Não Fornece tipos de dados para padrões internacionais de numeração de produtos. 1.2 1.2 1.2 1.2 1.2 1.2
lo Manutenção de objetos de grande porte. 1.1 1.1 1.1 1.1 1.1 1.1
ltree Fornece um tipo de dados para estruturas hierárquicas semelhantes a árvores. 1.1 1.1 1.2 1.2 1.2 1.2
SEG Tipo de dados para representar segmentos de linha ou intervalos de vírgula flutuante. 1.3 1.3 1.3 1.4 1.4 1.4
Tdigest Tipo de dados para acumulação on-line de estatísticas baseadas em classificação, como quantis e médias aparadas. 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
Topn Digite 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 PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 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ônimos. 1.0 1.0 1.0 1.0 1.0 1.0
sem sotaque 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 PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 15
Autoinc Funções para incrementar campos automaticamente. 1.0 1.0 1.0 1.0 1.0 1.0
distância terrestre Fornece um meio para calcular distâncias de grandes círculos 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 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 e enumerador de números inteiros (obsoleto). 1.1 1.1 1.1 1.1 1.1 1.1
IntArray Fornece funções e operadores para manipular matrizes livres de nulos de inteiros. 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime Funções para acompanhar o tempo 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 tabelas particionadas por tempo ou ID. 4.7.4 4.7.4 4.7.4 5.0.0 5.0.0 5.0.0
pg_surgery Funções para realizar 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 trigramas. 1.4 1.4 1.5 1.6 1.6 1.6
PGPcrypto Fornece funções criptográficas. 1.3 1.3 1.3 1.3 1.3 1.3
refino Funções para implementação de integridade referencial (obsoleta). 1.0 1.0 1.0 1.0 1.0 1.0
Tablefunc Fornece funções que manipulam tabelas inteiras, incluindo tabela cruzada. 1.0 1.0 1.0 1.0 1.0 1.0
TCN Notificações de alteração acionadas. 1.0 1.0 1.0 1.0 1.0 1.0
viagem no tempo Funções para implementar viagens no tempo. 1.0
UUID-OSSP Gera identificadores universalmente exclusivos (UUIDs). 1.1 1.1 1.1 1.1 1.1 1.1

Extensões de tipos de índice

Extensão Descrição PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 16
floração 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 exemplos de classes de operador GIN que implementam o comportamento semelhante a uma árvore B para determinados 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 árvore B. 1.5 1.5 1.5 1.6 1.7 1.7

Extensões linguísticas

Extensão Descrição PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 16
plpgsql Linguagem processual carregável PL/pgSQL. 1.0 1.0 1.0 1.0 1.0 1.0

Extensões diversas

Extensão Descrição PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 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 PostgreSQL de dentro de uma sessão de banco de dados. Consulte a seção "dblink and 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 que é usado para implementar old_snapshot_threshold. 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 de buffer compartilhado em tempo real. 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron Agendador de tarefas para PostgreSQL. 1.5 1.5 1.5 1.5 1.5 1.5
pg_freespacemap Examine o mapa de espaço livre (FSM). 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm Fornece uma maneira de 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 controlar 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 o mapa de visibilidade (VM) 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 em nível de linha. 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple Fornece um meio para mostrar estatísticas de nível de tupla. 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw Wrapper de dados estrangeiros usado para acessar dados armazenados em servidores PostgreSQL externos. Consulte a seção "dblink and 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 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 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 PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 16
pgvector Pesquisa de semelhança vetorial de código aberto para Postgres 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1

Extensões PostGIS

Extensão Descrição PÁG. 11 PG 12 PÁG. 13 PG 14 PÁG. 15 PÁG. 16
PostGIS Objetos espaciais e geográficos para PostgreSQL. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
address_standardizer Usado para analisar um endereço em elementos constituintes. Usado para dar suporte à etapa de normalização de endereços de geocodificação. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_sfcgal Funções SFCGAL PostGIS. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_topology Topologia PostGIS, tipos espaciais e funções. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0

pg_stat_statements

A extensão pg_stat_statements é pré-carregada em cada cluster do Azure Cosmos DB para PostgreSQL para fornecer um meio de controlar estatísticas de execução de instruções SQL.

A configuração pg_stat_statements.track controla quais instruções são contadas pela extensão. O padrão é , o topque significa que todas as declarações emitidas diretamente pelos clientes são rastreadas. Os outros dois níveis de rastreamento são none e all.

Há uma compensação entre as informações de execução de consulta pg_stat_statements fornece e o efeito no desempenho do servidor à medida que ele registra cada instrução SQL. Se você não estiver usando ativamente a extensão pg_stat_statements, recomendamos que defina pg_stat_statements.track como none. Alguns serviços de monitoramento de terceiros podem contar com pg_stat_statements para fornecer informações sobre o desempenho da consulta, portanto, confirme se é o seu caso ou não.

Você pode usar dblink e postgres_fdw para se conectar de um servidor PostgreSQL para outro ou para outro banco de dados no mesmo servidor. O servidor de recebimento precisa permitir conexões do servidor de envio através de seu firewall. Para usar essas extensões para se conectar entre clusters do Azure Cosmos DB para PostgreSQL com acesso público, defina Permitir que os serviços e recursos do Azure acessem esse cluster (ou servidor) como ATIVADO. Você também precisa ativar essa configuração se quiser usar as extensões para fazer loop de volta para o mesmo servidor. A configuração Permitir que os serviços e recursos do Azure acessem esse 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 para PostgreSQL.

Extensão ORAFCE

utl_file funções estão desativadas na extensão ORAFCE.

Próximos passos

  • Saiba mais sobre as versões suportadas do PostgreSQL.