PostgreSQL Sequence
Resumo
- Permite criar, eliminar ou alterar a definição de um gerador de sequência.
Parâmetros
Parâmetro | Tipo | Escolhas | Valores padrão | Comentários |
|---|---|---|---|
cache | integer | | Cache especifica quantos números de sequência devem ser pré-alocados e armazenados na memória para acesso mais rápido. O valor mínimo é 1 (apenas um valor pode ser gerado por vez, ou seja, sem cache), e este também é o padrão. |
cascade | boolean | Escolhas:
| Remova automaticamente os objetos que dependem da sequência e, por sua vez, todos os objetos que dependem desses objetos. Ignorado se state=present. Usado somente com state=absent. |
cycle | boolean | Escolhas:
| A opção de ciclo permite que a sequência seja encerrada quando o valor máximo ou valor mínimo for atingido por uma sequência crescente ou decrescente, respectivamente. Se o limite for atingido, o próximo número gerado será o minvalue ou maxvalue, respectivamente. Se false (NO CYCLE) for especificado, todas as chamadas para nextval após a sequência ter atingido seu valor máximo retornará um erro. False (NO CYCLE) é o padrão. |
data_type | string | Escolhas:
| Especifica o tipo de dados da sequência. Os tipos válidos são bigint, inteiro e smallint. bigint é o padrão. O tipo de dados determina os valores padrão mínimo e máximo da sequência. Para obter mais informações, consulte a documentação https://www.postgresql.org/docs/current/sql-createsequence.html. Compatível com PostgreSQL 10. |
db | string | | Nome do banco de dados ao qual se conectar e executar as consultas. aliases: database, login_db |
increment | integer | | O incremento especifica qual valor é adicionado ao valor da sequência atual para criar um novo valor. Um valor positivo fará uma sequência ascendente e um valor negativo uma sequência descendente. O valor padrão é 1. |
maxvalue | integer | | Maxvalue determina o valor máximo para a sequência. O padrão para uma sequência crescente é o valor máximo do tipo de dados. O padrão para uma sequência descendente é -1. aliases: max |
minvalue | integer | | Minvalue determina o valor mínimo que uma sequência pode gerar. O padrão para uma sequência ascendente é 1. O padrão para uma sequência descendente é o valor mínimo do tipo de dados. aliases: min |
newschema | string | | O novo esquema para a sequência. Será usado para mover uma sequence para outro schema. Funciona apenas para sequências existentes. |
owner | string | | Define o proprietário da sequência. |
rename_to | string | | O novo nome da sequência. Funciona apenas para sequências existentes. |
schema | string | Padrão: "public" | O esquema da sequência. Isso é usado para criar e realocar uma sequence no schema fornecido. |
sequence | string | | O nome da sequência. aliases: name |
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. |
start | integer | | Inicio permite que a sequência comece em qualquer lugar. O valor inicial padrão é minvalue para sequências ascendentes e maxvalue para sequências descendentes. |
state | string | Escolhas:
| O estado da sequência. Se state=absent, outras opções serão ignoradas, exceto o name e o schema. |
trust_input | boolean | Escolhas:
| Caso use 'no', verifica se os valores dos parâmetros sequence, schema, rename_to, owner, newschema, session_role são potencialmente perigosos. Faz sentido usar não 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
- Se não for informado o parâmetro db, a sequência será criada no banco de dados denominado postgres.
- 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 uma sequência de bigint crescente chamada foobar no banco de dados padrão
postgresql_sequence:
name: foobar
- name: Cria uma sequência de números inteiros crescente chamada foobar, começando em 101
postgresql_sequence:
name: foobar
data_type: integer
start: 101
- name: Cria uma sequência descendente chamada foobar, começando em 101 e
10 números de sequência pré-alocados no cache
postgresql_sequence:
name: foobar
increment: -1
cache: 10
start: 101
- name: Cria uma sequência ascendente chamada foobar, que circula entre 1 a 10
postgresql_sequence:
name: foobar
cycle: yes
min: 1
max: 10
- name: Crie uma sequência de bigint crescente chamada foobar no banco de dados
padrão com proprietário foobar
postgresql_sequence:
name: foobar
owner: foobar
- name: Renomeia uma sequência existente chamada foo para bar
postgresql_sequence:
name: foo
rename_to: bar
- name: Altera o esquema de uma sequência existente para foobar
postgresql_sequence:
name: foobar
newschema: foobar
- name: Altera o proprietário de uma sequência existente para foobar
postgresql_sequence:
name: foobar
owner: foobar
- name: Elimina uma sequência chamada foobar
postgresql_sequence:
name: foobar
state: absent
- name: Elimina uma sequência chamada foobar com cascata
postgresql_sequence:
name: foobar
cascade: yes
state: absent
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
cycle | string | sempre | Mostra se a sequência está em ciclo ou não. Exemplo: NO |
data_type | string | sempre | Mostra o tipo de dados atual da sequência. Exemplo: bigint |
increment | integer | sempre | O valor de incremento da sequência. Um valor positivo fará uma sequência ascendente e um valor negativo uma sequência descendente. Exemplo: -1 |
maxvalue | integer | sempre | O valor de maxvalue da sequência. Exemplo: 9223372036854775807 |
minvalue | integer | sempre | O valor de minvalue da sequência. Exemplo: 1 |
newname | string | no sucesso | Mostra o novo nome de sequência após renomear. Exemplo: barfoo |
newschema | string | no sucesso | Mostra o novo esquema da sequência após a alteração do esquema. Exemplo: foobar |
owner | string | sempre | Mostra o proprietário atual da sequência após a execução bem-sucedida da tarefa. Exemplo: postgres |
queries | string | sempre | Lista de consultas que se tentou executar. Exemplo: ['CREATE SEQUENCE "foo"'] |
schema | string | sempre | Nome do esquema da sequência. Exemplo: foo |
sequence | string | sempre | Nome da sequência. Exemplo: foobar |
start | integer | sempre | O valor do início da sequência. Exemplo: 12 |
state | string | sempre | Estado da sequência no final da execução. Exemplo: present |