Re: Log_statement behaviour a little misleading?
От | Bruce Momjian |
---|---|
Тема | Re: Log_statement behaviour a little misleading? |
Дата | |
Msg-id | 200401250035.i0P0Zh102892@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Log_statement behaviour a little misleading? (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
Tom Lane wrote: > Mark Kirkwood <markir@paradise.net.nz> 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 **** <listitem> <para> 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. </para> </listitem> </varlistentry> --- 1822,1832 ---- <listitem> <para> Causes each SQL statement to be logged. The default is off. ! <command>EXECUTE</> only displays the plan name, not the ! prepared query. Server-side languages like ! <application>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. </para> </listitem> </varlistentry>
В списке pgsql-general по дате отправления: