Índice
Esse apêndice e o próximo contêm informações sobre os módulos que
podem ser encontrados no diretório contrib
da distribuição do PostgreSQL,
incluindo ferramentas de portabilidade, utilitários de análise, e
recursos de plug-in que não fazem
parte do núcleo do sistema PostgreSQL,
principalmente porque se dirigem a um público limitado, ou são muito
experimentais para fazer parte da árvore fonte principal, mas
isso não impede sua utilidade.
Esse apêndice abrange as extensões e outros módulos de
plug-in de servidor encontrados em
contrib
.
O Programas adicionais fornecidos cobre os programas utilitários.
Quando se constrói o PostgreSQL a partir da distribuição do código-fonte, esses componentes não são construídos automaticamente, a menos que se crie com o destino "world" (veja Construção). Pode-se compilar e instalar todos eles de uma vez executando
make
make install
no diretório contrib
de uma árvore de código-fonte
configurada; ou para construir e instalar apenas um módulo selecionado,
fazendo-se o mesmo no subdiretório desse módulo.
Muitos desses módulos possuem testes de regressão, que podem ser
realizados executando
make check
antes da instalação, ou
make installcheck
assim que houver um servidor PostgreSQL ativo.
Se está sendo usada uma versão pré-empacotada do
PostgreSQL, esses módulos são
normalmente disponibilizados como um subpacote separado, tal como
postgresql-contrib
.
Muitos módulos fornecem novas funções, operadores ou tipos de dados definidos pelo usuário. Para utilizar um desses módulos, após sua instalação é necessário cadastrar os novos objetos SQL no banco de dados. Isso é feito executando o comando CREATE EXTENSION. Em um banco de dados novo, pode ser executado apenas
CREATE EXTENSION nome_do_módulo
;
Esse comando registra os novos objetos SQL apenas
no banco de dados em uso, portanto, é necessário executá-lo em cada
banco de dados onde se deseja que as facilidades do módulo estejam
disponíveis.
Como alternativa, pode ser executado no banco de dados
template1
para que a extensão seja copiada para os
bancos de dados criados posteriormente por padrão.
Para todos esses módulos, CREATE EXTENSION
deve ser
executado por um superusuário do banco de dados, a menos que o módulo
seja considerado “trusted” (confiável), caso em que pode
ser executado por qualquer usuário que tenha o privilégio
CREATE
no banco de dados em uso.
Os módulos confiáveis são identificados como tal nas seções a seguir.
Geralmente, os módulos confiáveis são aqueles que não possuem acesso
à funcionalidade fora do banco de dados.
Muitos módulos permitem instalar seus objetos no esquema escolhido
pelo usuário.
Para fazer isso, deve ser adicionado
SCHEMA
ao comando nome_do_esquema
CREATE EXTENSION
.
Por padrão, os objetos são colocados no esquema padrão do usuário
que, por sua vez, por padrão é o esquema public
.
Note, no entanto, que alguns desses módulos não são “extensões” nesse sentido, mas são carregados no servidor de alguma outra maneira, por exemplo, por meio de shared_preload_libraries. Consulte a documentação de cada módulo para obter detalhes.