Обсуждение: Getting rid of postgres output
I scheduled a dump between two databases, via network:
pg_dump --clean -U postgres mydb | psql -q -h remote_host -d mydb -U postgres
I'd like to have no output being generated, unless an error condition occurs, so that crond will email me only when something goes really wrong.
Unfortunately I'm getting this output:
setval
--------
551776
(1 row)
setval
--------
340537
(1 row)
setval
--------
10411
(1 row)
and so on........
It seems to be related to some sequences recently added to the database. Actually we are getting one 'setval' line for each sequence defined.
Does anyone know how to get rid of this output?
Simply redirecting output is not a great idea, as we may loose some precious error messages too; so I think we should prevent this messages to being generate at all.
(Postgres 8.1.3 on RHEL4)
Thank You!
Nicola
On 8/7/06, Nicola Mauri <Nicola.Mauri@saga.it> wrote:
Have you tried redirecting standard output to /dev/null and sending the errors to your email? For example:
pg_dump --clean -U postgres mydb | psql -q -h remote_host -d mydb -U postgres > /dev/null 2> output_to_be_emailed.txt
==================================================================
Aaron Bono
Aranya Software Technologies, Inc.
http://www.aranya.com
http://codeelixir.com
==================================================================
I scheduled a dump between two databases, via network:
pg_dump --clean -U postgres mydb | psql -q -h remote_host -d mydb -U postgres
I'd like to have no output being generated, unless an error condition occurs, so that crond will email me only when something goes really wrong.
Unfortunately I'm getting this output:
setval
--------
551776
(1 row)
setval
--------
340537
(1 row)
setval
--------
10411
(1 row)
and so on........
It seems to be related to some sequences recently added to the database. Actually we are getting one 'setval' line for each sequence defined.
Does anyone know how to get rid of this output?
Simply redirecting output is not a great idea, as we may loose some precious error messages too; so I think we should prevent this messages to being generate at all.
(Postgres 8.1.3 on RHEL4)
pg_dump --clean -U postgres mydb | psql -q -h remote_host -d mydb -U postgres > /dev/null 2> output_to_be_emailed.txt
==================================================================
Aaron Bono
Aranya Software Technologies, Inc.
http://www.aranya.com
http://codeelixir.com
==================================================================
On Mon, 2006-08-07 at 09:00, Nicola Mauri wrote: > I scheduled a dump between two databases, via network: > > pg_dump --clean -U postgres mydb | psql -q -h remote_host -d mydb -U > postgres > > I'd like to have no output being generated, unless an error condition > occurs, so that crond will email me only when something goes really > wrong. > Unfortunately I'm getting this output: > > setval > -------- > 551776 > (1 row) > > setval > -------- > 340537 > (1 row) > > setval > -------- > 10411 > (1 row) > > and so on........ > It seems to be related to some sequences recently added to the > database. Actually we are getting one 'setval' line for each sequence > defined. It'll just get worse as your database gets bigger. What's better is to check the output of the pg_dump / psql command. If you're using bash shell, you can do something like: if ! ( pg_dump --clean -U postgres test > /tmp/pgdump.sql ) ; then echo "failure in backup" | mail -s "backup failed" youremailhere; fi if ! ( psql test2 < /tmp/pgdump.sql ) ; then echo "restore failed" | mail -s "restore failed" youremailhere; fi or something like that. you can save the std out like the other poster pointed out as well.
First, you need to upgrade to 8.1.4. You can redirect STDOUT to /dev/null. Error messages will be sent to STDERR. On Aug 7, 2006, at 9:00 AM, Nicola Mauri wrote: > I scheduled a dump between two databases, via network: > > pg_dump --clean -U postgres mydb | psql -q -h remote_host -d mydb - > U postgres > > I'd like to have no output being generated, unless an error > condition occurs, so that crond will email me only when something > goes really wrong. > Unfortunately I'm getting this output: > > setval > -------- > 551776 > (1 row) > > setval > -------- > 340537 > (1 row) > > setval > -------- > 10411 > (1 row) > > and so on........ > It seems to be related to some sequences recently added to the > database. Actually we are getting one 'setval' line for each > sequence defined. > > Does anyone know how to get rid of this output? > Simply redirecting output is not a great idea, as we may loose some > precious error messages too; so I think we should prevent this > messages to being generate at all. > (Postgres 8.1.3 on RHEL4) > > Thank You! > Nicola > -- Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461