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.
dblink e postgres_fdw
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
- Saiba mais sobre Versões compatíveis do PostgreSQL.