Compartilhar via


Gerenciar as extensões do PostgreSQL

APLICA-SE A: Banco de dados do Azure para PostgreSQL – Servidor Flexível

O servidor flexível do Banco de Dados do Azure para PostgreSQL permite que você estenda a funcionalidade do seu banco de dados usando extensões. As extensões agrupam vários objetos SQL relacionados em um único pacote que pode ser carregado ou removido do seu banco de dados com um comando. Depois de serem carregadas no banco de dados, as extensões funcionam como recursos internos.

Permitir extensões

Antes de instalar extensões no servidor flexível do Banco de Dados do Azure para PostgreSQL, você deve permitir que essas extensões sejam listadas para uso.

Usando o portal do Azure:

  1. Selecione sua instância do servidor flexível do Banco de Dados do Azure para PostgreSQL.

  2. No menu de recursos, na seção Configurações, selecione Parâmetros do servidor.

  3. Selecione as extensões que você deseja permitir, entre as disponíveis no parâmetro azure.extensions e selecione Salvar.

    Captura de tela da lista de permissões.

Carregar bibliotecas

shared_preload_libraries é um parâmetro de configuração do servidor que determina quais bibliotecas devem ser carregadas quando o servidor flexível do Banco de Dados do Azure para PostgreSQL é iniciado. Todas as bibliotecas que usam memória compartilhada devem ser carregadas por meio desse parâmetro. Se sua extensão precisar ser adicionada às bibliotecas de pré-carregamento compartilhadas, siga essas etapas:

Usando o portal do Azure:

  1. Selecione sua instância do servidor flexível do Banco de Dados do Azure para PostgreSQL.

  2. No menu de recursos, na seção Configurações, selecione Parâmetros do servidor.

  3. Inclua as bibliotecas que deseja adicionar no valor de shared_preload_libraries e selecione Salvar.

    Captura de tela da página de parâmetros do servidor durante a configuração de shared_preload_libraries.

  4. Como shared_preload_librariesé um parâmetro estático do servidor, é necessário reiniciar o servidor para que as alterações entrem em vigor.

    Captura de tela da página de parâmetros do servidor, mostrando a caixa de diálogo na qual você pode salvar as alterações e reiniciar.

Criar extensões

Depois que uma extensão é incluída na lista de permissões e, se a extensão exigir, também é adicionada a shared_load_libraries, ela pode ser criada ou instalada em cada banco de dados no qual será usada.

  1. Para criar uma extensão, um usuário deve ser membro da função azure_pg_admin.

  2. Execute o comando CREATE EXTENSION para criar ou instalar uma extensão específica. Esse comando carrega os objetos empacotados em seu banco de dados.

Observação

As extensões de terceiros oferecidas no servidor flexível do Banco de Dados do Azure para PostgreSQL são códigos licenciados de código aberto. Não oferecemos extensões de terceiros ou versões de extensão com modelos de licenciamento premium ou proprietários.

A instância de servidor flexível do Banco de Dados do Azure para PostgreSQL oferece suporte a um subconjunto de extensões principais do PostgreSQL, conforme listado em extensões com suporte por nome ou em extensões com suporte por versão do PostgreSQL. Essas informações também estão disponíveis por meio da execução de SHOW azure.extensions;. Extensões não incluídas nessas listas não são suportadas no servidor flexível do Banco de Dados do Azure para PostgreSQL. Você não pode criar ou carregar suas próprias extensões no servidor flexível do Banco de Dados do Azure para PostgreSQL.

Extensões de queda

Para remover uma extensão, primeiro certifique-se de colocá-la na lista de permissões.

  1. Para cancelar uma extensão, um usuário deve ser membro da função azure_pg_admin.

  2. Execute o comando DROP EXTENSION para remover ou desinstalar uma extensão específica. Esse comando remove os objetos empacotados na extensão do seu banco de dados.

Atualizar extensões

Para atualizar uma extensão instalada para a versão mais recente disponível com suporte pelo Azure, use o seguinte comando SQL:

ALTER EXTENSION <extension_name> UPDATE;

Esse comando simplifica o gerenciamento de extensões de banco de dados, permitindo que os usuários atualizem manualmente para a versão mais recente aprovada pelo Azure, melhorando a compatibilidade e a segurança.

Limitações

Embora a atualização de extensões seja simples, há certas limitações:

  • Seleção de uma versão específica: O comando não suporta atualização para versões intermediárias de uma extensão.

  • Downgrade: Não oferece suporte ao downgrade de uma extensão para uma versão anterior. Se for necessário fazer um downgrade, poderá ser necessário suporte e dependerá da disponibilidade da versão anterior.

Ver extensões instaladas

Para listar as extensões instaladas no momento no banco de dados, use o seguinte comando SQL:

SELECT * FROM pg_extension;

Possíveis erros

A extensão "%s" não está na lista de permissões para usuários "azure_pg_admin" no Banco de Dados do Azure para PostgreSQL

Esse erro ocorre quando você executa um comando CREATE EXTENSION ou DROP EXTENSION referindo-se a uma extensão que não está na lista de permissões ou a uma extensão que ainda não é suportada na instância do Banco de Dados do Azure para servidor flexível na qual você está executando o comando.

Somente membros de "azure_pg_admin" têm permissão para usar CREATE EXTENSION

Esse erro ocorre quando o usuário que executa um CREATE EXTENSION comando não é membro da azure_pg_admin função.

Somente membros do "azure_pg_admin" têm permissão para usar DROP EXTENSION

Esse erro ocorre quando o usuário que executa um DROP EXTENSION comando não é membro da azure_pg_admin função.