Re: Log_statement behaviour a little misleading?

Поиск
Список
Период
Сортировка
Искать
От
Bruce Momjian
Тема
Re: Log_statement behaviour a little misleading?
Дата
Msg-id
200401250035.i0P0Zh102892@candle.pha.pa.us
Ответ на
Список
Дерево обсуждения
Log_statement behaviour a little misleading? Mark Kirkwood <markir@paradise.net.nz>
Re: Log_statement behaviour a little misleading? Tom Lane <tgl@sss.pgh.pa.us>
Re: Log_statement behaviour a little misleading? Bruce Momjian <pgman@candle.pha.pa.us>
Re: Log_statement behaviour a little misleading? Mark Kirkwood <markir@paradise.net.nz>
Tom Lane wrote:
> Mark Kirkwood  writes:
> > So setting "log_statement=true" does all *statements* - but not all 
> > *executions* of each statement. Is this the intention?
> 
> AFAIK this is an implementation artifact that's never really been
> discussed.  Another aspect of the artifact is that SQL commands
> appearing in plpgsql functions will be logged only on first execution
> in a session.
> 
> I think you could make a fair argument that "log_statement" ought to log
> only commands received from the client application.  There would be real
> value in being able to trace execution of plpgsql functions, but such a
> feature would have very little to do with log_statement as it now
> stands.  The fact that RI triggers issue SQL commands is an artifact of
> their implementation (and one that I believe Stephan and Jan would like
> to get rid of); they shouldn't be cluttering the log at all.
> 
> At least that's what it seems like to me after a few moments'
> reflection.  Other opinions out there?

I checked prepared queries and it looks like this:

	LOG:  statement: prepare xx as select 1;
	LOG:  statement: execute xx;

which seems OK by me.  I have updated the docs to mention the behavior
mentioned above for PREPARE and PL/pgSQL.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: doc/src/sgml/runtime.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/runtime.sgml,v
retrieving revision 1.232
diff -c -c -r1.232 runtime.sgml
*** doc/src/sgml/runtime.sgml	23 Jan 2004 23:54:20 -0000	1.232
--- doc/src/sgml/runtime.sgml	25 Jan 2004 00:32:55 -0000
***************
*** 1822,1829 ****
        
         
          Causes each SQL statement to be logged. The default is off.
!         Only superusers can turn off this option if it is enabled by
!         the administrator.
         
        
       
--- 1822,1832 ----
        
         
          Causes each SQL statement to be logged. The default is off.
!         EXECUTE</> only displays the plan name, not the
!         prepared query. Server-side languages like
!         PL/pgSQL</> that store functions in a cache only
!         display their queries on first function call. superusers can
!         turn off this option if it is enabled by the administrator.
         
        
       
В списке pgsql-general по дате отправления
От: Lee Harr
Дата:
От: Bruce Momjian
Дата:
FAQ