Esta seção contém informações sobre como configurar as extensões de banco de dados compatíveis com o Database Service.
Instalar uma extensão
As extensões só podem ser instaladas no DBCluster principal. Depois de instalada, a extensão é replicada para instâncias de espera.
A maioria das extensões pode ser instalada diretamente conectando-se ao cluster de banco de dados e executando o comando CREATE EXTENSION.
No entanto, algumas extensões exigem configuração adicional. Portanto, os usuários precisam definir a flag de banco de dados, "dbs.enable_<extension-name>": "on" conectar-se ao cluster de banco de dados e executar o comando CREATE EXTENSION.
Somente usuários de banco de dados que são membros da função alloydbsuperuser podem executar o comando CREATE EXTENSION. Por padrão, isso inclui o usuário dbsadmin.
Remover uma extensão
Para remover uma extensão, o usuário do banco de dados que está tentando fazer isso precisa ser o proprietário da extensão. Isso implica que somente o usuário do banco de dados que criou a extensão inicialmente tem autoridade para removê-la. Nenhum outro usuário do banco de dados tem a capacidade de remover a extensão, garantindo o gerenciamento controlado de extensões.
Extensões de banco de dados compatíveis
A tabela a seguir lista todas as extensões compatíveis.
| Extensão | Descrição |
|---|---|
| alloydb_ai_nl | Extensão do Google para AlloyDB AI e linguagem natural |
| amcheck | Fornece funções para verificar a consistência lógica da estrutura das relações, permitindo que o aplicativo pg_amcheck verifique se há corrupção. |
| anon | Mascaras ou substitui informações de identificação pessoal (PII) ou dados sensíveis de um banco de dados do PostgreSQL. |
| autonic | Fornece funções para campos de incremento automático |
| bloom | Fornece um método para acessar índices com base em filtros de Bloom. Um filtro de Bloom é uma estrutura de dados com eficiência de espaço que pode ser usada para testar se um elemento faz parte de um conjunto. |
| btree_gin | Fornece amostras de classes de operadores GIN que implementam o comportamento equivalente de B-tree. |
| btree_gist | Fornece classes de operadores de índice GiST que implementam o comportamento equivalente de B-tree. |
| citext | Fornece um tipo de string de caracteres citext sem distinção entre maiúsculas e minúsculas. |
| cube | Implementa um cubo de tipo de dados para representar cubos multidimensionais. |
| dblink | Fornece funções para se conectar a bancos de dados do PostgreSQL em uma sessão de banco de dados |
| dict_int | Um complemento de modelo de dicionário para pesquisa de texto completo que controla a indexação de números inteiros. |
| dict_xsyn | Modelo de dicionário de pesquisa de texto para processamento de sinônimos estendido |
| earthdistance | Fornece duas abordagens para calcular distâncias grandes do círculo na superfície da Terra. |
| fuzzystrmatch | Fornece várias funções para determinar semelhanças e distância entre as strings. |
| google_columnar_engine | Fornece o recurso de mecanismo colunar do AlloyDB, que processa cargas de trabalho HTAP (processamento analítico transacional híbrido) e OLAP (processamento analítico on-line) com muita eficiência. |
| google_db_advisor | Fornece o recurso de consultor de índice do AlloyDB, que recomenda índices para acelerar o processamento de consultas. |
| google_ml_integration | Fornece funções que você usa para acessar endpoints da Vertex AI para receber previsões em SQL. |
| postgresql-hll | Fornece uma estrutura de dados do HyperLogLog (hll) que estima a cardinalidade de um conjunto. |
| hstore | Implementa o tipo de dados hstore para armazenar conjuntos de pares de chave-valor em um único valor do PostgreSQL. |
| hypopg | Oferece suporte a índices hipotéticos. |
| insert_username | Fornece funções para armazenar o nome do usuário atual em um campo de texto. É possível usar essa função para rastrear qual usuário modificou uma linha em uma tabela de banco de dados pela última vez. |
| intagg | Fornece um agregador inteiro e um enumerador. |
| intarray | Oferece um conjunto de funções e operadores para manipulação de matrizes null-free de números inteiros e busca indexada. |
| ip4r | Fornece tipos de dados para endereços IPv4/v6 e intervalos de endereços, além de suporte a índice. |
| isn | Fornece tipos de dados para alguns padrões internacionais de numeração de produtos. |
| lo | Suporte para o gerenciamento de grandes objetos (também chamados de LOs ou BLOBs). |
| ltree | Implementa um tipo de dados ltree para representar rótulos de dados armazenados em uma estrutura hierárquica do tipo árvore. |
| moddatetime | Fornece funções para armazenar o horário atual em um campo timestamp. É possível usar isso para rastrear a última vez que uma linha em uma tabela de banco de dados é modificada. |
| pageinspect | Inspeciona o conteúdo das páginas do banco de dados em um nível baixo. |
| pg_bigm | Ativa a pesquisa de texto completo e possibilita um índice de dois gramas (bigram) para uma pesquisa de texto completo mais rápida. |
| pg_buffercache | Fornece um meio para examinar o que está acontecendo no cache de buffer compartilhado em tempo real. |
| pg_cron | Fornece um programador de jobs baseado em cron. Essa extensão permite que a sintaxe cron programe comandos do PostgreSQL diretamente do banco de dados. |
| pg_freespacemap | Examine o mapa de espaço livre (FSM, na sigla em inglês). |
| pg_hint_plan | Permite melhorar os planos de execução do PostgreSQL usando dicas, que são descrições em comentários SQL. |
| pg_partman | Permite criar e gerenciar conjuntos de partição de tabela baseados em tempo e em série. |
| pg_prewarm | Oferece uma maneira conveniente de carregar dados relacionais no cache de buffer do sistema operacional ou no cache de buffer do PostgreSQL. |
| pg_proctab | Permite usar o pg_top e gerar relatórios da tabela do processo do sistema operacional. |
| pg_repack | Permite remover o inchaço de tabelas e índices. Opcionalmente, permite executar um CLUSTER on-line (ordenar tabelas por índice de cluster). |
| pg_similarity | Oferece suporte a consultas de similaridade no PostgreSQL. |
| pg_squeeze | Remove o espaço não utilizado de uma tabela e, opcionalmente, usa um índice para classificar registros ou linhas (tuplas) da tabela. |
| pg_stat_statements | Oferece um meio para rastrear as estatísticas de execução de todas as instruções SQL executadas. |
| pg_trgm | Fornece funções e operadores para determinar a semelhança de texto alfanumérico com base na correspondência trigrama, bem como classes de operadores de índice compatíveis com a busca rápida de strings semelhantes. |
| pg_visibility | Fornece uma maneira de examinar o mapa de visibilidade (VM, na sigla em inglês) e as informações de visibilidade no nível da página de uma tabela. |
| pg_wait_sampling | Coleta estatísticas de amostragem de eventos de espera, fornecendo dados de eventos de espera para processos em servidores. |
| pgaudit | Fornece registros detalhados de auditoria de sessão e objeto usando o recurso de geração de registros padrão fornecido pelo PostgreSQL. |
| pgcrypto | Fornece funções criptográficas para o PostgreSQL. |
| pgfincore | Um conjunto de funções para gerenciar páginas na memória do cache em disco do sistema operacional do PostgreSQL. |
| pglogical | Fornece replicação lógica para o PostgreSQL. |
| pgrowlocks | Fornece informações de bloqueio de linha para a tabela especificada. |
| pgstattuple | Fornece várias funções para estatísticas de nível de tupla. |
| pgtap | Fornece um framework de teste de unidade para PostgreSQL, escrito em PL/pgSQL e PL/SQL. |
| pgtt | Adiciona suporte a tabelas temporárias globais aos seus bancos de dados. |
| plpgsql | Uma linguagem processual carregável para criar funções, procedimentos e acionadores. Também é possível usar essa linguagem para execução direta de código em blocos DO. |
| plproxy | Manipulador de linguagem processual que permite chamadas de procedimento remoto entre bancos de dados do PostgreSQL, com fragmentação opcional. |
| plv8 | Fornece uma linguagem processual para ativar o JavaScript. |
| postgres_ann | Pesquisa de ANN do PostgreSQL |
| postgres_fdw | Permite que wrappers de dados externos sejam criados em instâncias ou entre instâncias. |
| prefix | Fornece correspondência de prefixo e suporte a índice. |
| refint | Inclui funções para verificar restrições chave externa, a tabela de referência e a tabela referenciada. |
| sslinfo | Fornece informações sobre o certificado SSL que o cliente atual forneceu quando se conectou à instância. |
| tablefunc | Inclui várias funções que retornam tabelas (várias linhas). |
| tcn | Fornece uma função de gatilho que notifica os listeners sobre alterações no conteúdo das tabelas do banco de dados. |
| temporal_tables | Oferece suporte a tabelas temporais. Uma tabela temporal registra o período em que uma linha é válida do ponto de vista de um banco de dados. |
| tsm_system_rows | Fornece o método de amostragem de tabela SYSTEM_ROWS, que pode ser usado na cláusula TABLESAMPLE de um comando SELECT. |
| tsm_system_time | Fornece o método de amostragem de tabela SYSTEM_TIME, que pode ser usado na cláusula TABLESAMPLE de um comando SELECT. |
| unaccent | Um dicionário de pesquisa de texto que exclui acentos (sinais diacríticos) de lexemas. |
| uuid-ossp | Fornece funções para gerar identificadores universalmente únicos (UUIDs, na sigla em inglês) usando um dos algoritmos padrão. |
| pgvector | Uma extensão de código aberto para armazenar e pesquisar embeddings de vetores em bancos de dados do PostgreSQL. |