Hi list,

Version is PostgreSQL 9.0.4 on x86_64-unknown-linux-gnu, compiled by GCC
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51), 64-bit.

We set logging parameters as below for DDL & DML Logging:
logging_collector = on
log_statement = mod
log_line_prefix = '%t--%d--%u--%h--%a--%i--%e'

Server log file consists as below sample log information:
2011-11-28 16:35:23 EET--postgres--postgres--136.10.195.51--pgAdmin III -
Query Tool--idle--00000LOG:  statement: update test set t=10 where t=3;
2011-11-28 16:35:34 EET--postgres--postgres--136.10.195.51--pgAdmin III -
Query Tool--idle--00000LOG:  statement: update test set t=10 where t=5;

Logging works successfully while we run direct DML commands like "insert,
update, delete".

But, when I call a function that does DML, logging doesn't work and server
log file has no information about calling function.

I call function like this: SELECT p_dummy_insert();

###This is sample insert function###
CREATE OR REPLACE FUNCTION p_dummy_insert ()
  RETURNS void AS
$BODY$
BEGIN
 INSERT INTO employee values ('dummy', 'test');
END$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

"Not logging of function calls" is expected behavior or a bug? We have no
information on server logs about who called function or when was it called
or what did called function do?

Regards,
Murat KOC

Reply via email to