Pessoal,
Recentemente em um cliente tive o problema de uma sequence "pular" o valor
32 por duas vezes... dando uma olhada na mesma pude observar que o valor da
coluna "log_cnt" está 32:
base=# select * from protocolo.protprocesso_p58_codproc_seq ;
sequence_name | last_value | increment_by |
max_value | min_value | cache_value | log_cnt | is_cycled | is_called
------------------------------+------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------
protprocesso_p58_codproc_seq | 4532 | 1 |
9223372036854775807 | 1 | 1 | 32 | f | t
(1 row)
Dando uma pesquisada achei a mensagem do Sr. Tom Lane [1] dizendo que esta
coluna é de uso interno e que ele acredita que seja o número de valores
disponíveis sem escrever outra entrada no WAL...
Pelo que entendi o PostgreSQL gera uma espécie de "cache" até uma próxima
escrita do WAL e o caso do valor ter "pulado" seria quando houvesse algum
problema no servidor, tipo uma para inesperada do mesmo... é isso mesmo???
ou alguém tem outra informação a respeito???
Procurei na documentação oficial do PostgreSQL e não achei nenhum lugar que
explicasse a estrutura interna de uma sequence... não seria o caso de
providenciarmos tal documentação, conforme sugere o Sr. Tom Lane??
[1] http://archives.postgresql.org/pgsql-docs/2003-10/msg00036.php
--
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral