Módulos de Extensão Oficiais do PostgreSQL
PostgreSQL é um poderoso sistema de banco de dados relacional de código aberto que vem com vários módulos de extensão para aprimorar suas funcionalidades. O ServBay inclui todos os módulos de extensão oficiais do PostgreSQL, permitindo que os usuários aproveitem facilmente esses módulos para atender a diversas necessidades complexas de aplicação. A seguir, são apresentados alguns módulos de extensão oficiais comuns do PostgreSQL e suas descrições breves.
Módulos Comuns de Extensão
1. pg_stat_statements
Função: Coletar e registrar informações estatísticas sobre a execução de instruções SQL.
Uso: Ajudar os administradores de banco de dados a analisar e otimizar o desempenho das consultas.
Comando de instalação:
CREATE EXTENSION pg_stat_statements;
2. pg_trgm
Função: Fornecer funções de pesquisa de similaridade de strings baseadas em trigramas.
Uso: Utilizado para correspondência aproximada, busca de texto completo, entre outros.
Comando de instalação:
CREATE EXTENSION pg_trgm;
3. hstore
Função: Fornecer armazenamento de pares chave-valor.
Uso: Adequado para cenários que necessitam armazenar propriedades dinâmicas, como dados de configuração e metadados.
Comando de instalação:
CREATE EXTENSION hstore;
4. citext
Função: Fornecer um tipo de texto insensível a maiúsculas e minúsculas.
Uso: Utilizado em cenários que necessitam de comparações insensíveis a maiúsculas e minúsculas, como nomes de usuário e endereços de e-mail.
Comando de instalação:
CREATE EXTENSION citext;
5. uuid-ossp
Função: Gerar UUID (Identificador Único Universal).
Uso: Utilizado em cenários que necessitam de identificadores únicos, como chaves primárias e IDs de sessão.
Comando de instalação:
CREATE EXTENSION "uuid-ossp";
6. intarray
Função: Fornecer operações adicionais para arrays de inteiros.
Uso: Adequado para cenários que necessitam realizar operações complexas em arrays de inteiros.
Comando de instalação:
CREATE EXTENSION intarray;
7. btree_gin
Função: Fornecer suporte para operações de árvore B baseada em índice GIN.
Uso: Utilizado em cenários que necessitam de indexação e consultas eficientes.
Comando de instalação:
CREATE EXTENSION btree_gin;
8. btree_gist
Função: Fornecer suporte para operações de árvore B baseada em índice GiST.
Uso: Utilizado em cenários que necessitam de índices multidimensionais e consultas complexas.
Comando de instalação:
CREATE EXTENSION btree_gist;
9. cube
Função: Fornecer suporte para dados multidimensionais.
Uso: Adequado para cenários que necessitam processar dados multidimensionais, como data warehouses e análise OLAP.
Comando de instalação:
CREATE EXTENSION cube;
10. fuzzystrmatch
Função: Fornecer funções de correspondência aproximada de strings.
Uso: Utilizado para busca aproximada, limpeza de dados e mais.
Comando de instalação:
CREATE EXTENSION fuzzystrmatch;
11. plpgsql
Função: Suporte à linguagem procedimental PL/pgSQL.
Uso: Utilizado para escrever procedimentos armazenados e gatilhos.
Comando de instalação:
CREATE EXTENSION plpgsql;
12. tablefunc
Função: Fornecer suporte para funções de tabela.
Uso: Utilizado para consultas de tabela cruzada, pivot de dados, entre outros.
Comando de instalação:
CREATE EXTENSION tablefunc;
13. dblink
Função: Fornecer suporte para conexão entre bancos de dados.
Uso: Utilizado para consultar dados de outro banco de dados.
Comando de instalação:
CREATE EXTENSION dblink;
14. postgres_fdw
Função: Fornecer acesso a bancos de dados PostgreSQL externos.
Uso: Utilizado para consultas entre bancos de dados e integração de dados.
Comando de instalação:
CREATE EXTENSION postgres_fdw;
15. pgcrypto
Função: Fornecer funções de criptografia e descriptografia.
Uso: Utilizado para criptografia de dados, hash e necessidades de segurança.
Comando de instalação:
CREATE EXTENSION pgcrypto;
Instalação e Uso dos Módulos de Extensão
No ServBay, você pode seguir os passos a seguir para instalar e utilizar os módulos de extensão oficiais do PostgreSQL:
Conectar ao banco de dados PostgreSQL:
bashpsql -U seu_usuario -d seu_banco_de_dados
1Instalar o módulo de extensão:
sqlCREATE EXTENSION nome_do_modulo;
1Verificar a instalação:
sql\dx
1
Abaixo, um exemplo de como habilitar o pg_trgm
:
psql (16.3 (ServBay))
Type "help" for help.
postgres=# \dx
Lista de extensões instaladas
Nome | Versão | Esquema | Descrição
-----------+--------+-------------+-------------------------------
pgcrypto | 1.3 | public | funções criptográficas
plpgsql | 1.0 | pg_catalog | linguagem procedimental PL/pgSQL
(2 rows)
postgres=# CREATE EXTENSION pg_trgm;
CREATE EXTENSION
postgres=# \dx
Lista de extensões instaladas
Nome | Versão | Esquema | Descrição
-----------+--------+-------------+-------------------------------------------------------------------
pg_trgm | 1.6 | public | medição de similaridade de texto e busca de índice baseada em trigramas
pgcrypto | 1.3 | public | funções criptográficas
plpgsql | 1.0 | pg_catalog | linguagem procedimental PL/pgSQL
(3 rows)
postgres=#
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Consulta de Módulos Inclusos no PostgreSQL
No ServBay, você pode usar o seguinte comando para verificar os módulos inclusos no PostgreSQL:
SELECT * FROM pg_available_extensions ORDER BY name;
Um retorno típico pode ser assim:
nome | versão_padrão | versão_instalada | comentário
------------------------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------
address_standardizer | 3.4.2 | | Usado para analisar um endereço em elementos constituintes. Geralmente usado para suportar a normalização de geocodificação de endereços.
address_standardizer_data_us | 3.4.2 | | Conjunto de dados do US para address standardizer
adminpack | 2.1 | | funções administrativas para PostgreSQL
amcheck | 1.3 | | funções para verificar integridade de relações
autoinc | 1.0 | | funções para campos de autoincremento
bloom | 1.0 | | método de acesso bloom - índice baseado em arquivo de assinatura
btree_gin | 1.3 | | suporte para indexação de tipos de dados comuns em GIN
btree_gist | 1.7 | | suporte para indexação de tipos de dados comuns em GiST
citext | 1.6 | | tipo de dado para strings de caracteres insensíveis a maiúsculas/minúsculas
cube | 1.5 | | tipo de dado para cubos multidimensionais
dblink | 1.2 | | conectar a outros bancos de dados PostgreSQL a partir de um banco de dados
dict_int | 1.0 | | modelo de dicionário de busca de texto para inteiros
dict_xsyn | 1.0 | | modelo de dicionário de busca de texto para processamento de sinônimos estendidos
earthdistance | 1.1 | | calcular distâncias de grande círculo na superfície da Terra
file_fdw | 1.0 | | wrapper de dados externos para acesso a arquivos planos
fuzzystrmatch | 1.2 | | determinar similaridades e distâncias entre strings
hstore | 1.8 | | tipo de dado para armazenamento de conjuntos de pares (chave, valor)
insert_username | 1.0 | | funções para rastrear quem alterou uma tabela
intagg | 1.1 | | agregador de inteiros e enumerador (obsoleto)
intarray | 1.5 | | funções, operadores e suporte de índice para arrays 1-D de inteiros
isn | 1.2 | | tipos de dados para normas internacionais de numeração de produtos
lo | 1.1 | | manutenção de Objetos Grandes
ltree | 1.2 | | tipo de dado para estruturas hierárquicas em árvore
moddatetime | 1.0 | | funções para rastrear o horário da última modificação
old_snapshot | 1.0 | | utilitários em suporte ao old_snapshot_threshold
pageinspect | 1.12 | | inspecionar o conteúdo das páginas de banco de dados em baixo nível
pg_buffercache | 1.4 | | examinar o cache de buffer compartilhado
pg_freespacemap | 1.2 | | examinar o mapa de espaço livre (FSM)
pg_jieba | 1.1.1 | | um analisador para busca de texto completo em chinês
pg_prewarm | 1.2 | | pré-aquecer dados de relação
pg_stat_statements | 1.10 | | acompanhar estatísticas de planejamento e execução de todas as instruções SQL executadas
pg_surgery | 1.0 | | extensão para realizar cirurgia em uma relação danificada
pg_trgm | 1.6 | 1.6 | medição de similaridade de texto e busca de índice baseada em trigramas
pg_visibility | 1.2 | | examinar o mapa de visibilidade (VM) e informações de visibilidade em nível de página
pg_walinspect | 1.1 | | funções para inspecionar conteúdo do Write-Ahead Log do PostgreSQL
pgcrypto | 1.3 | 1.3 | funções criptográficas
pgrouting | 3.6.2 | | Extensão de pgRouting
pgrowlocks | 1.2 | | mostrar informações de bloqueio em nível de linha
pgstattuple | 1.5 | | mostrar estatísticas em nível de tupla
plpgsql | 1.0 | 1.0 | linguagem procedimental PL/pgSQL
postgis | 3.4.2 | | tipos e funções espaciais de geometria e geografia do PostGIS
postgis_sfcgal | 3.4.2 | | funções SFCGAL do PostGIS
postgis_tiger_geocoder | 3.4.2 | | geocodificador e geocodificador reverso do PostGIS tiger
postgres_fdw | 1.1 | | wrapper de dados externos para servidores PostgreSQL remotos
refint | 1.0 | | funções para implementar integridade referencial (obsoleto)
seg | 1.4 | | tipo de dado para representar segmentos de linha ou intervalos de ponto flutuante
sslinfo | 1.2 | | informações sobre certificados SSL
tablefunc | 1.0 | | funções que manipulam tabelas inteiras, incluindo tabela cruzada
tcn | 1.0 | | Notificações de alteração acionada
tsm_system_rows | 1.0 | | método TABLESAMPLE que aceita o número de linhas como limite
tsm_system_time | 1.0 | | método TABLESAMPLE que aceita o tempo em milissegundos como limite
unaccent | 1.1 | | dicionário de busca de texto que remove acentos
vector | 0.7.0 | | tipo de dado vetor e métodos de acesso ivfflat e hnsw
xml2 | 1.1 | | consulta XPath e XSLT
zhparser | 2.2 | | um analisador para busca de texto completo em chinês
(55 rows)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Com esses módulos de extensão, você pode aprimorar as funcionalidades do PostgreSQL para atender a diversas necessidades complexas de aplicação. O ServBay inclui todos os módulos oficiais fornecidos com PostgreSQL, permitindo que os usuários os instalem e utilizem conforme necessário.