PostgreSQL Ext
Resumo
- Adiciona ou remove extensões PostgreSQL de um banco de dados
Parâmetros
Parâmetro | Tipo | Escolhas | Valor padrão | Comentários |
|---|---|---|---|
cascade | boolean | Escolhas:
| Instala/remove automaticamente quaisquer extensões das quais esta extensão dependa e que ainda não tenham sido instaladas/removidas (suportado desde PostgreSQL 9.6). |
db | string | | Nome do banco de dados para adicionar ou remover a extensão de/para. aliases: login_db |
name | string | | Nome da extensão a ser adicionada ou removida. aliases: ext |
schema | string | | Nome do schema ao qual adicionar a extensão. |
session_role | string | | Alterne para session_role após conectar. O session_role especificado deve ser uma função da qual o login_user atual é membro. A verificação de permissões para comandos SQL é realizada como se o session_role fosse aquele que havia se logado originalmente. |
state | string | Escolhas:
| O estado da extensão do banco de dados. |
trust_input | boolean | Escolhas:
| Caso use 'no', verifica se os valores dos parâmetros ext, schema, version, session_role são potencialmente perigosos. Faz sentido usar no apenas quando as injeções de SQL por meio dos parâmetros são possíveis. |
version | string | | Versão da extensão para adicionar ou atualizar. Tem efeito apenas com state=present. Se não for especificado, a versão de extensão mais recente será criada. Não é possível fazer o downgrade de uma versão de extensão. Quando o downgrade da versão for necessário, remova a extensão e crie uma nova com a versão apropriada.Set version=latest para atualizar a extensão para a versão mais recente disponível. |
Extende fragmentos da documentação do módulo PostgreSQL Base
Notas
- A autenticação padrão assume que você está fazendo login ou logar como sudo na conta do postgres no host.
- Se o host remoto for o servidor PostgreSQL (que é o caso padrão), o PostgreSQL também deve ser instalado no host remoto.
- Versões incomparáveis, por exemplo PostGIS não empacotado, não podem ser instaladas.
- Para evitar o erro “Peer authentication failed for user postgres”, use o usuário postgres como um become_user.
- Se o host remoto for o servidor PostgreSQL (que é o caso padrão), o PostgreSQL também deve ser instalado no host remoto.
Exemplos
- name: Adiciona extensão postgis ao banco de dados acme no esquema foo
postgresql_ext:
name: postgis
db: acme
schema: foo
- name: remove a extensão postgis do banco de dados acme
postgresql_ext:
name: postgis
db: acme
state: absent
- name: Adiciona a extensão earthdistance ao banco de dados template1 cascade
postgresql_ext:
name: earthdistance
db: template1
cascade: true
# No exemplo abaixo, se a extensão de distância à terra estiver instalada,
# será removido também porque depende do cubo:
- name: remove a extensão do cubo da cascata acme do banco de dados
postgresql_ext:
name: cube
db: acme
cascade: yes
state: absent
- name: crie a extensão foo da versão 1.2 ou atualize-a se já tiver sido criada
postgresql_ext:
db: acme
name: foo
version: 1.2
- name: assumindo que a extensão foo foi criada, atualize-a para a versão mais recente
postgresql_ext:
db: acme
name: foo
version: latestValores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
query | list | sempre | Lista de consultas executadas. Exemplo:['DROP EXTENSION "acme"'] |