PostgreSQL DB
Resumo
- Adiciona ou remove bancos de dados PostgreSQL de um host remoto.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor padrão | Comentários |
|---|---|---|---|
conn_limit | string | | Especifica o limite de conexões do banco de dados. |
dump_extra_args | string | | Fornece argumentos adicionais quando o state é dump. Não pode ser usado com argumentos dump-file-format-related como `` --format=d``. |
encoding | string | | Codificação do banco de dados. |
lc_collate | string | | A ordem de agrupamento (LC_COLLATE) a ser usada no banco de dados deve corresponder à ordem de agrupamento do banco de dados de modelo, a menos que template0 seja usado como modelo. |
lc_ctype | string | | Classificação de caracteres (LC_CTYPE) para usar no banco de dados (por exemplo, inferior, superior, ...). Deve corresponder a LC_CTYPE do banco de dados de modelo, a menos que template0 seja usado como modelo. |
maintenance_db | string | Padrão: "postgres" | O valor especifica o banco de dados inicial (que também é chamado de banco de dados de manutenção) ao qual o Atmosphere se conecta. |
name | string | | Nome do banco de dados a ser adicionado ou removido. aliases: db |
owner | string | | Nome do perfil a ser definido como proprietário do banco de dados. |
session_role | string | | Alterna 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 banco de dados. present implica que o banco de dados deve ser criado, se necessário. absent implica que o banco de dados deve ser removido se necessário. dump exige uma definição de destino para a qual será feito o backup do banco de dados. Observe que em algumas versões PostgreSQL de pg_dump, que é um utilitário PostgreSQL embutido e é usado pelo módulo, retorna rc 0 mesmo quando ocorrem erros (por exemplo, a conexão é proibida por pg_hba.conf, etc.), portanto, o módulo retorna changed=True, mas o despejo não foi realmente feito. Certifique-se de que sua versão de pg_dump retorna rc 1 neste caso. Restore também requer uma definição de destino a partir da qual o banco de dados será restaurado. O formato do backup será detectado com base no nome do destino. Os formatos de compactação compatíveis para despejo e restauração incluem .pgc, .bz2, .gz e .xz. Os formatos compatíveis para despejo e restauração incluem .sql, .tar e .dir. O programa de restauração é selecionado pelo formato de arquivo de destino: .tar, .pgc e .dir são controlados por pg_restore, outro com pgsql. .rename é usado para renomear o nome do banco de dados para destino. Se o name do banco de dados existir, ele será renomeado para target. Se o name do banco de dados não existir e o banco de dados de existir target, o módulo relatará que nada mudou. Se ambos os bancos de dados existem, bem como quando eles têm o mesmo valor, um erro será gerado. Quando state=rename, além da opção de nome, o módulo requer a opção de destino. Outras opções são ignoradas. |
tablespace | path | | O tablespace a ser definido para o banco de dados https://www.postgresql.org/docs/current/sql-alterdatabase.html. Se desejar mover o banco de dados de volta para o tablespace padrão, defina explicitamente como pg_default. |
target | path | | Arquivo para fazer backup ou restaurar. Usado quando o state é dump ou restore. |
target_opts | string | | Argumentos adicionais para pg_dump ou programa de restauração (pg_restore ou psql, dependendo do formato do destino). Usado quando o state é dump ou restore. |
template | string | | Modelo usado para criar o banco de dados. |
trust_input | boolean | Escolhas:
| Caso use 'no', verifica se os valores dos parâmetros owner, conn_limit, encoding, db, template, tablespace, 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. |
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.
- 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: Cria um novo banco de dados com o nome "acme"
postgresql_db:
name: acme
# Nota: Se um modelo diferente de "template0" for especificado,
# as configurações de codificação e localidade devem corresponder às do modelo.
- name: Crie um novo banco de dados com o nome "acme" com codificação específica de configuração de localização
postgresql_db:
name: acme
encoding: UTF-8
lc_collate: de_DE.UTF-8
lc_ctype: de_DE.UTF-8
template: template0
# Nota: Limite padrão para o número de conexões simultâneas para
# um banco de dados específico é "-1", que significa "ilimitado"
- name: Cria um novo banco de dados com o nome "acme" que tem um limite de 100 conexões simultâneas
postgresql_db:
name: acme
conn_limit: "100"
- name: Cria dump de um banco de dados existente em um arquivo.
postgresql_db:
name: acme
state: dump
target: /tmp/acme.sql
- name: Cria dump de um banco de dados existente em um arquivo, excluindo a tabela de teste
postgresql_db:
name: acme
state: dump
target: /tmp/acme.sql
dump_extra_args: --exclude-table=test
- name: Cria dump de um banco de dados existente em um arquivo (com compactação)
postgresql_db:
name: acme
state: dump
target: /tmp/acme.sql.gz
- name: Cria dump de um único esquema para um banco de dados existente
postgresql_db:
name: acme
state: dump
target: /tmp/acme.sql
target_opts: "-n public"
- name: Cria dump apenas da tabela 1 e a tabela 2 do banco de dados acme
postgresql_db:
name: acme
state: dump
target: /tmp/table1_table2.sql
target_opts: "-t table1 -t table2"
- name: Cria dump de um banco de dados existente usando o formato de diretório
postgresql_db:
name: acme
state: dump
target: /tmp/acme.dir
# Nota: No exemplo abaixo, se o banco de dados foo existir e tiver outro espaço de tabela
# o espaço de tabela será alterado para foo. O acesso ao banco de dados será bloqueado
# até que a cópia dos arquivos do banco de dados seja concluída.
- name: Cria um novo banco de dados chamado foo no tablespace bar
postgresql_db:
name: foo
tablespace: bar
# Renomeie o banco de dados foo para bar.
# Se o banco de dados foo existir, ele será renomeado para bar.
# Se o banco de dados foo não existir e o banco de dados bar existir,
# o módulo relatará que nada mudou.
# Se ambos os bancos de dados existirem, um erro será gerado.
- name: Renomeie o banco de dados foo para bar
postgresql_db:
name: foo
state: rename
target: bar
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
executed_commands | list | Sempre | Lista de comandos que foram enviados Exemplo:['CREATE DATABASE acme'] |