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

Responder a