MURAT KOÇ wrote:
> 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'

> 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?

The function call itself is logged, but SQL statements inside
the function are not.

The function call does not show up in your log because it is
in a SELECT statement.

Set log_statement = 'all' to log the function call.

Yours,
Laurenz Albe

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to