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.1.0 | 5.1.0 | 5.1.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 | 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.6 | 1.6 | 1.6 | 1.6 | 1.6 |
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.7.0 | 0.7.0 | 0.7.0 | 0.7.0 | 0.7.0 |
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.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 dar 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 PostGIS. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
postgis_topology | Topologia PostGIS, tipos espaciais e funções. | 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 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 top
que 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.
dblink e postgres_fdw
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.