Thread: Capturing vacuum output

Capturing vacuum output

From
David Rickard
Date:
PostgreSQL: 7.3.4
Platform: SunOS 5.9 Generic_112233-07 sun4u sparc SUNW,Ultra-250

We plan to run vacuumdb nightly on our PostgreSQL cluster (which may be excessive--we welcome opinions/insights on vacuum scheduling); we want to run vacuum in verbose mode, for our own statistical analysis/review--but we're having trouble capturing the verbose output; when we do a simple pipe to a file--

        vacuumdb -a -f -z -v | vaclog.log

all that gets captured is the backend database commands--VACUUM <dbname> etc; thinking that the verbose output was going to something besides stdout, we tried

        vacuumdb -a -f -z -v 2> ${pg_log}/vaclog.log

and got the error message: "cannot vacuum all databases and a specific one at the same time";
To what I/O stream does the verbose output get written, and how can we capture it?

--

David Rickard
Software Engineer
The GTS Companies
A TechBooks Company

----------------------------------------------------------------------------------
The GTS Companies:
GTS Publishing Services, GTS Graphics, GTS Innova:
Your Single-Source Solution!
Los Angeles CA  *  York, PA  *  Boston MA  *  New Delhi, India
----------------------------------------------------------------------------------


David.Rickard@GTSCompanies.com
Visit us on the World Wide Web
http://www.gtscompanies.com
5650 Jillson St., Los Angeles, CA 90040
(323) 888-8889 x331
(323) 888-1849 [fax]

Re: Capturing vacuum output

From
Tom Lane
Date:
David Rickard <David.Rickard@GTScompanies.com> writes:
> all that gets captured is the backend database commands--VACUUM <dbname>
> etc; thinking that the verbose output was going to something besides
> stdout, we tried

>          vacuumdb -a -f -z -v 2> ${pg_log}/vaclog.log

> and got the error message: "cannot vacuum all databases and a specific one
> at the same time";
> To what I/O stream does the verbose output get written, and how can we
> capture it?

It goes to stderr.  The above command looks okay to me; perhaps you need
to get rid of the spaces between 2> and the target file.  It sounds like
vacuumdb thinks it is seeing an additional command-line argument besides
the switches.

            regards, tom lane