PostgreSQL Slot
Resumo
- Adiciona ou remove slots de replicação de um banco de dados PostgreSQL
Parâmetros
Parâmetro | Tipo | Escolhas | Valores padrão | Comentários |
|---|---|---|---|
db | string | | Nome do banco de dados ao qual se conectar. aliases: login_db |
immediately_reserve | boolean | Escolhas:
| Parâmetro opcional que, quando 'yes', especifica que o LSN para este slot de replicação seja reservado imediatamente, caso contrário, o padrão, 'no', especifica que o LSN é reservado na primeira conexão de um cliente de replicação de streaming. Está disponível no PostgreSQL versão 9.6. Usa apenas com slot_type=physical. Mutualmente exclusivo com slot_type=logical. |
name | string | | Nome do slot de replicação a ser adicionado ou removido. aliases: slot_name |
output_plugin | string | Padrão: "test_decoding" | Todos os slots lógicos devem indicar qual decodificador de plug-in de saída eles estão usando. Este parâmetro não se aplica a slots físicos. Ele será ignorado com slot_type=physical. |
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. |
slot_type | string | Escolhas:
| Slot type. |
state | string | Escolhas:
| O slot state=present implica que o slot deve estar presente no system. state=absent implica que os grupos devem ser revogados de target_roles. |
trust_input | boolean | Escolhas:
| Caso use 'no', verifica se o valor de session_role é potencialmente perigoso. Faz sentido usar no apenas quando as injeções de SQL via session_role são possíveis. |
Extende fragmentos da documentação do módulo PostgreSQL Base
Notas
- Os slots de replicação física foram introduzidos no PostgreSQL com a versão 9.4, enquanto os slots de replicação lógica foram adicionados a partir da versão 10.0.
- 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: Cria um slot físico physical_one se não existir
become_user: postgres
postgresql_slot:
slot_name: physical_one
db: ansible
- name: Remove o slot physical_one se existir
become_user: postgres
postgresql_slot:
slot_name: physical_one
db: ansible
state: absent
- name: Cria um slot lógico logical_one para o banco de dados acme se não existir
postgresql_slot:
name: logical_slot_one
slot_type: logical
state: present
output_plugin: custom_decoder_one
db: "acme"
- name: remove o slot logical_one se existe do cluster em execução em outro host e porta não padrão
postgresql_slot:
name: logical_one
login_host: mydatabase.example.org
port: 5433
login_user: ourSuperuser
login_password: thePassword
state: absent
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
name | string | sempre | Nome do slot. Exemplo: physical_one |
queries | string | sempre | Lista de consultas executadas. Exemplo: ["SELECT pg_create_physical_replication_slot('physical_one', False, False)"] |