PostgreSQL Lang
Resumo
- Adiciona, remove ou modifica linguagens procedurais em um banco de dados PostgreSQL.
- O módulo pode ser usado na máquina onde é executado ou em um host remoto.
- Ao remover um idioma de um banco de dados, é possível que dependências evitem que o banco de dados seja removido. Nesse caso, você pode especificar cascade=yes para descartar automaticamente objetos que dependem do idioma (como funções no idioma).
- Caso o idioma não possa ser excluído porque é exigido pelo sistema de banco de dados, você pode especificar fail_on_drop=no para ignorar o erro.
- Tenha cuidado ao marcar um idioma como confiável, pois isso pode ser uma violação de segurança em potencial. Linguagens não confiáveis permitem que apenas usuários com o privilégio de superusuário PostgreSQL usem esta linguagem para criar novas funções.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor padrão | Comentários |
|---|---|---|---|
cascade | boolean | Escolhas:
| Ao eliminar um idioma, exclua também os objetos que dependem deste idioma. Usado apenas quando state=absent. |
db | string | | Nome do banco de dados ao qual se conectar e onde o idioma será adicionado, removido ou alterado. aliases: login_db |
fail_on_drop | boolean | Escolhas:
| Caso use 'yes', falha ao remover um idioma. Caso contrário, basta registrar e continuar. Em alguns casos, não é possível remover um idioma (usado pelo db-system). Quando as dependências bloqueiam a remoção, considere o uso em cascata. |
force_trust | boolean | Escolhas:
| Marca o idioma como confiável, mesmo se estiver marcado como não confiável em pg_pltemplate. Use com cuidado! |
lang | string | | Nome da linguagem procedural para adicionar, remover ou alterar.aliases: name |
owner | string | | Defina um proprietário para o idioma. Ignorado quando state=absent. |
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 do idioma do banco de dados selecionado. |
trust | boolean | Escolhas:
| Torne este idioma confiável para o banco de dados selecionado. |
trust_input | boolean | Escolhas:
| Caso use 'no', verifica se os valores dos parâmetros lang, session_role, owner são potencialmente perigosos. Faz sentido usar no apenas quando as injeções de SQL por meio dos parâmetros são possíveis. |
Extende fragmentos da documentação do módulo PostgreSQL Base
Notas
- A autenticação padrão assume que você está fazendo login ou sudo na conta do postgres no host.
- 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.
- O parâmetro ca_cert requer pelo menos Postgres versão 8.4.
Exemplos
- name: Adiciona o idioma pltclu ao banco de dados testdb se ele não existir
postgresql_lang: db=testdb lang=pltclu state=present
# Adicione o idioma pltclu ao banco de dados testdb se ele não existir e marque-o como confiável.
# Marca o idioma como confiável se ele existir, mas ainda não for confiável.
# force_trust garante que o idioma será marcado como confiável
- name: Adicione o idioma pltclu ao banco de dados testdb se ele não existir e marque-o como confiável
postgresql_lang:
db: testdb
lang: pltclu
state: present
trust: yes
force_trust: yes
- name: remove o idioma pltclu do banco de dados testdb
postgresql_lang:
db: testdb
lang: pltclu
state: absent
- name: remove o idioma pltclu do banco de dados testdb e remove todas as dependências
postgresql_lang:
db: testdb
lang: pltclu
state: absent
cascade: yes
- name: remove o idioma do banco de dados testdb, mas ignora os erros se algo impedir a remoção
postgresql_lang:
db: testdb
lang: pltclu
state: absent
fail_on_drop: no
- name: Em testdb, altere o proprietário de mylang para alice
postgresql_lang:
db: testdb
lang: mylang
owner: aliceValores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
queries | list | sempre | Lista de consultas executadas. Exemplo: ['CREATE LANGUAGE "acme"'] |