From: | Hans Ginzel <hans(at)matfyz(dot)cz> |
---|---|
To: | Felipe Santos <felipepts(at)gmail(dot)com> |
Cc: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: psql -L log errors |
Date: | 2015-03-11 14:01:12 |
Message-ID: | 20150311140112.GA96187@artax.karlin.mff.cuni.cz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
On Wed, Mar 11, 2015 at 08:47:13AM -0300, Felipe Santos wrote:
> When you are using the "--log-file" clause, you are telling the psql to
> redirect the normal output to the file indicated, but the error output
> keeps being sent to the standard output device.
> To redirect the error output you have to append it to the file you're
> logging into.
> To do that, do the following (both Win and Linux, replace the psql
> arguments ofr yours) :
> psql -U sample_user -W -c "select * from foo;" sample_database
> --log-file=sample_file.txt 2>> sample_file.txt
Thank you for your answer, Felipe.
Why the error output keeps being sent to the standard output device?
Does it get sense to redirect only stdout to file when "--log-file" is used?
Why not to also redirect stderr? Could the dup2() fuction be used for that?
Or even better could the stderr be "teed" both to the log file and to the standard output device?
Thanks
Hans
http://stackoverflow.com/questions/14543443/in-c-how-do-you-redirect-stdin-stdout-stderr-to-files-when-making-an-execvp-or
https://github.com/goj/coreutils/blob/rm-d/src/tee.c
From | Date | Subject | |
---|---|---|---|
Next Message | Felipe Santos | 2015-03-11 16:25:17 | Re: psql -L log errors |
Previous Message | Felipe Santos | 2015-03-11 11:47:13 | Re: psql -L log errors |