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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general