On 22-11-2016 14:28, Alessandro Lima wrote:
> Boa tarde,
>
> Costumo pesquisar em meus logs do Audit Trigger ordenando por
> action_tstamp_stm para ver a sequencia de alterações em um registro.
> Mas percebi que em alguns casos os dados alterados estavam fora da ordem
> cronológica, constatei então que a ordem sequencial da chave primária
> event_id e da transaction_id não estão coerentes com a ordem crescente
> das datas, por exemplo:
> event_idtransaction_idaction_tstamp_txaction_tstamp_stmaction_tstamp_clk
> 9398667373628162016-11-17 09:17:59.453002-022016-11-17
> 09:17:59.460058-022016-11-17 09:17:59.460938-02
> 9398684673628482016-11-17 09:11:58.574255-022016-11-17
> 09:11:58.57457-022016-11-17 09:11:58.575121-02
> 9398685873628662016-11-17 09:12:21.143129-022016-11-17
> 09:12:21.143443-022016-11-17 09:12:21.166096-02
> 9398693573629852016-11-17 09:13:12.403124-022016-11-17
> 09:13:12.411809-022016-11-17 09:13:12.412167-02
>
> Exemplo da function que captura os logs:
> audit_row = ROW(
> nextval('audit.logged_actions_event_id_seq'), -- event_id
> current_timestamp, -- action_tstamp_tx
> statement_timestamp(), -- action_tstamp_stm
> clock_timestamp(), -- action_tstamp_clk
> txid_current(), -- transaction ID
>
> Alguém sabe me explicar o que está acontecento?
>
Jovem, execute o exemplo abaixo e vc entenderá a diferença:
BEGIN;
SELECT current_timestamp, clock_timestamp();
SELECT pg_sleep(60);
SELECT current_timestamp, clock_timestamp();
SELECT pg_sleep(60);
SELECT current_timestamp, clock_timestamp();
ROLLBACK;
Att,
--
Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral