Thread: pgsql --echo-errors --quiet and setval
Dear fellow PostgreSQL users,
It logged lots of these messages:
setval
--------
1001
(1 row)
--------
1001
(1 row)
In other words, it logs **some** things that are not errors, even though --quiet was specified. Is this the expected behaviour? I would argue that with --quiet --echo-errors, only errors should be logged, and setting the value of a sequence is not an error.
Thank you,
Laszlo
On 9/8/23 12:36, Les wrote: > > Dear fellow PostgreSQL users, > > Today I caught this with postgresql v15, while restoring a database with > psql --echo-errors --quiet. (The dump was made using pg_dump -Fp). > > It logged lots of these messages: > > setval > -------- > 1001 > (1 row) > > In other words, it logs **some** things that are not errors, even though > --quiet was specified. Is this the expected behaviour? I would argue > that with --quiet --echo-errors, only errors should be logged, and > setting the value of a sequence is not an error. No but SELECT pg_catalog.setval(...) in the dump file is a function that has return value and that is what you are seeing. > > Thank you, > > Laszlo > -- Adrian Klaver adrian.klaver@aklaver.com
On Fri, Sep 8, 2023 at 1:41 PM Les <nagylzs@gmail.com> wrote:
Dear fellow PostgreSQL users,Today I caught this with postgresql v15, while restoring a database with psql --echo-errors --quiet. (The dump was made using pg_dump -Fp).It logged lots of these messages:setval
--------
1001
(1 row)In other words, it logs **some** things that are not errors, even though --quiet was specified. Is this the expected behaviour? I would argue that with --quiet --echo-errors, only errors should be logged, and setting the value of a sequence is not an error.
The output of SELECT queries cannot be quieted, only redirected.
David J.
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Fri, Sep 8, 2023 at 1:41 PM Les <nagylzs@gmail.com> wrote: >> Today I caught this with postgresql v15, while restoring a database with >> psql --echo-errors --quiet. (The dump was made using pg_dump -Fp). >> It logged lots of these messages: >> >> setval >> -------- >> 1001 >> (1 row) >> >> In other words, it logs **some** things that are not errors, even though >> --quiet was specified. Is this the expected behaviour? I would argue that >> with --quiet --echo-errors, only errors should be logged, and setting the >> value of a sequence is not an error. > The output of SELECT queries cannot be quieted, only redirected. Yeah. You could do "\o /dev/null" or the equivalent to discard the SELECT results, since a pg_dump script isn't going to be doing anything that you really need to see the results of. I'm not sure whether it'd be profitable to try to build that behavior into the scripts themselves. One problem is that "/dev/null" doesn't have that name on Windows, so it's hard to see how to invoke the behavior in a platform-agnostic fashion. regards, tom lane
On Sun, Sep 10, 2023 at 10:43 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
I'm not sure whether it'd be profitable to try to build that behavior
into the scripts themselves.
Teaching it not to call "print" (or making it a no-op somehow) in a certain mode, yes, trying to redirect output it is producing, I doubt it for the reason mentioned. It isn't difficult to add "> /dev/null" to the command line if that is what you want - no need to touch scripts given a capable enough shell.
David J.