Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Extensões e módulos no PostgreSQL são ferramentas avançadas que você pode usar para estender a funcionalidade do sistema de banco de dados. Eles variam de objetos SQL simples a bibliotecas binárias complexas e fornecem recursos e recursos extras que não estão disponíveis na distribuição central do PostgreSQL.
Extensões
Para definir uma extensão, você precisa de pelo menos um arquivo de script que contenha os comandos SQL para criar os objetos distribuídos pela extensão e um arquivo de controle que especifica uma propriedade básica da própria extensão.
Quando você cria, instala ou carrega extensões em um banco de dados, elas implantam um conjunto de objetos de pacote que visam estender a funcionalidade do mecanismo. Esses objetos podem ser funções, operadores, funções, tipos de dados, métodos de acesso e outros tipos de objetos de banco de dados.
Quando você descarta, desinstala ou descarrega extensões de um banco de dados, o processo remove todos os objetos que a extensão criou. Uma exceção a esse caso é quando há outros objetos no banco de dados com dependências de qualquer um dos objetos definidos pela extensão.
Você pode escrever a implementação da funcionalidade fornecida por esses objetos distribuídos pela extensão em SQL ou PL/pgSQL. Mas você também pode implementá-lo em um arquivo de biblioteca compartilhada separada (binário), que é o resultado da compilação do código-fonte (normalmente escrito em C ou Rust) que implementa a funcionalidade.
No PostgreSQL, você gerencia extensões por meio dos comandos CREATE EXTENSION, ALTER EXTENSION, DROP EXTENSION e COMMENT ON EXTENSION.
-
CREATE EXTENSIONcria, instala ou carrega uma extensão no banco de dados no qual você executa o comando. -
ALTER EXTENSIONatualiza a extensão para uma versão mais recente. -
DROP EXTENSIONdescarta, desinstala ou descarrega uma extensão do banco de dados no qual você executa o comando. -
COMMENT ON EXTENSIONarmazena um comentário sobre a extensão como um objeto de banco de dados.
Quando o servidor é iniciado, ele define uma área de memória que todos os processos de back-end podem acessar para executar cooperativamente quaisquer cargas de trabalho. No jargão do PostgreSQL, essa área de memória é chamada de memória compartilhada.
Algumas extensões que implementam a funcionalidade usando bibliotecas compartilhadas precisam acessar essa área de memória compartilhada do código interno nessas bibliotecas. Essas extensões têm mais um requisito, que é que os seus arquivos de biblioteca compartilhada devem ser carregados pelo processo do mecanismo principal, assim que o servidor é iniciado. Para essas bibliotecas, siga as instruções em carregar bibliotecas.
Módulos
Embora não sejam consideradas extensões porque não têm um arquivo de controle e um arquivo de script para implantar objetos SQL agrupados em um banco de dados, outra forma de extensibilidade no PostgreSQL é implementar a funcionalidade em arquivos de biblioteca binária compartilhada autônomos.
Você pode carregar esses arquivos na memória quando o servidor for iniciado. Eles podem implementar código que normalmente desvia o caminho de execução natural do PostgreSQL para alterar o funcionamento padrão do mecanismo. Essas alterações comportamentais normalmente visam ampliar alguma funcionalidade limitada do mecanismo.
O Banco de Dados do Azure para PostgreSQL oferece suporte aos seguintes módulos:
- auto_explain
- pg_failover_slots
- pg_partman_bgw
- wal2json