Logging duration of batch runs
От | Christian Kratzer |
---|---|
Тема | Logging duration of batch runs |
Дата | |
Msg-id | 20040623124152.T42702@vesihiisi.cksoft.de обсуждение исходный текст |
Ответы |
Re: Logging duration of batch runs
Re: Logging duration of batch runs |
Список | pgsql-general |
Hi, I have a stored procedure run periodically that assign accounting records to their respective customers based on username and other criteria. It also does all kinds of validation work on the accounting records. I would have liked to have the procedure log start and stop times using RAISE NOTICE and also store start and stop time of each run to a logging table. I currently have following: ---snipp--- CREATE OR REPLACE FUNCTION radius.radius_acct_batch() RETURNS void AS ' DECLARE batch_id int; realm RECORD; start_time timestamp; stop_time timestamp; BEGIN -- start new batch start_time := ''now''; INSERT INTO radius.radius_acct_batch ( radius_acct_batch_run_start ) VALUES ( start_time ); SELECT INTO batch_id currval(''radius.radius_acct_batch_radius_acct_batch_id_seq''); RAISE NOTICE ''radius.radius_acct_batch, radius_acct_batch_id=%, start_time=%.'', batch_id, start_time; -- do actual work ... ... ... ... -- register end date in batch stop_time := ''now''; UPDATE radius.radius_acct_batch SET radius_acct_batch_run_end=stop_time WHERE radius_acct_batch_id=batch_id; RAISE NOTICE ''radius.radius_acct_batch, radius_acct_batch_id=%, stop_time=%, done.'', batch_id, stop_time; RETURN; END' LANGUAGE plpgsql; ---snipp--- the problem is that start_time and stop_time are identical. Is there any way I can get plpgsql to reevaluate now at the end of the batch ??? Greetings Christian -- Christian Kratzer ck@cksoft.de CK Software GmbH http://www.cksoft.de/ Phone: +49 7452 889 135 Fax: +49 7452 889 136
В списке pgsql-general по дате отправления: