Sending Explain output to a perl client

Started by Nonameover 24 years ago3 messagesgeneral
Jump to latest
#1Noname
wsheldah@lexmark.com

Hi,

I'm trying to tune a query that includes a correlated subquery, by moving the
subquery to a temporary table and joining on that, hoping to improve things by
not executing the subquery for every row. My immediate problem is that since the
temporary table is session specific and I'm running it from perl, I can't paste
the SQL into a psql session to run EXPLAIN on it. Can I treat the EXPLAIN
results like a column from a regular result set and have perl retrieve it like a
regular column value, or is there another way to capture the EXPLAIN output from
a perl client?

Many thanks,

Wes Sheldahl

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: Sending Explain output to a perl client

wsheldah@lexmark.com writes:

or is there another way to capture the EXPLAIN output from
a perl client?

If you don't want to tweak the DBD driver, you could just read the
explain results in the postmaster's log.

regards, tom lane

#3Noname
wsheldah@lexmark.com
In reply to: Tom Lane (#2)
Re: Sending Explain output to a perl client

Thanks Tom. Guess I should have tried it before I posted. Turns out the
explain output goes both in my Apache error log (the script was running under
mod_perl) and my postgresql log, without doing anything special. DBD::Pg must be
treating it like an error message, which seems to work out fine.

At least I learned from finally looking at the pgsql log that I needed to
increase my WAL_FILES parameter. And I figured out which version of the query to
use. Thanks,

Wes Sheldahl

Tom Lane <tgl%sss.pgh.pa.us@interlock.lexmark.com> on 12/04/2001 01:38:23 PM

To: "Wesley_Sheldahl/Lex/Lexmark.LEXMARK"@sweeper.lex.lexmark.com
cc: pgsql-general%postgresql.org@interlock.lexmark.com (bcc: Wesley
Sheldahl/Lex/Lexmark)
Subject: Re: [GENERAL] Sending Explain output to a perl client

wsheldah@lexmark.com writes:

or is there another way to capture the EXPLAIN output from
a perl client?

If you don't want to tweak the DBD driver, you could just read the
explain results in the postmaster's log.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)