Re: current_query in pg_stat_activity
От | Bruce Momjian |
---|---|
Тема | Re: current_query in pg_stat_activity |
Дата | |
Msg-id | 200403021634.i22GYwG19307@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: current_query in pg_stat_activity (Jan Wieck <JanWieck@Yahoo.com>) |
Список | pgsql-novice |
Attached patch applied. Thanks for the analysis. --------------------------------------------------------------------------- Jan Wieck wrote: > Tom Lane wrote: > > Oliver Fromme <olli@lurza.secnetix.de> writes: > >> Tom Lane wrote: > >>>> Oliver Fromme <olli@lurza.secnetix.de> writes: > >>>>> The "current_query" column in the "pg_stat_activity" system > >>>>> table seems to be limited to 255 characters. Is there a way > >>>>> to increase that limit, in order to see queries completely > >>>>> which are longer than 255 characters? > >>>> > >>>> You could fool with PGSTAT_ACTIVITY_SIZE in pgstat.h, but you probably > >>>> need to keep it under 1000 --- note the comments associated with > >>>> PGSTAT_NUM_TABENTRIES. > > > >> Thanks! It appears that the size is ultimately limited > >> by the MTU of the localhost interface, which is 16K on > >> my platform (FreeBSD), so I should be able to increase > >> PGSTAT_ACTIVITY_SIZE to something like 15K, right? > > > > You'll probably find the overhead of the stats collector ballooning > > quite a lot if you increase the max message size by a factor of 15 :-(. > > But give it a try. > > > >> Oh, by the way, while I'm at it, I think I found a small > >> bug in the second of those formulas (PostgreSQL 7.3.5): > > > >> #define PGSTAT_NUM_TABPURGE ((1000 - sizeof(PgStat_MsgHdr)) \ > >> / sizeof(PgStat_TableEntry)) > > > >> That should be sizeof(Oid), shouldn't it? The bug doesn't > >> hurt because a Oid is much smaller than a PgStat_TableEntry, > >> but it limits the number of them inside a PgStat_MsgTabpurge > >> much more than necessary. > > > > I think you are right. Jan? > > Looks very much like, as the payload of the purge message is just an > array of oids. > > > Jan > > -- > #======================================================================# > # It's easier to get forgiveness for being wrong than for being right. # > # Let's break this rule - forgive me. # > #================================================== JanWieck@Yahoo.com # > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faqs/FAQ.html > -- 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: src/include/pgstat.h =================================================================== RCS file: /cvsroot/pgsql-server/src/include/pgstat.h,v retrieving revision 1.18 diff -c -c -r1.18 pgstat.h *** src/include/pgstat.h 25 Dec 2003 03:52:51 -0000 1.18 --- src/include/pgstat.h 2 Mar 2004 16:34:25 -0000 *************** *** 271,277 **** * ---------- */ #define PGSTAT_NUM_TABPURGE ((1000 - sizeof(PgStat_MsgHdr)) \ ! / sizeof(PgStat_TableEntry)) /* ---------- * PgStat_MsgTabpurge Sent by the backend to tell the collector --- 271,277 ---- * ---------- */ #define PGSTAT_NUM_TABPURGE ((1000 - sizeof(PgStat_MsgHdr)) \ ! / sizeof(Oid)) /* ---------- * PgStat_MsgTabpurge Sent by the backend to tell the collector
В списке pgsql-novice по дате отправления: