Re: pg_upgrade test chatter
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Bossart, Nathan" <bossartn@amazon.com>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-10-19T19:36:14Z
Lists: pgsql-hackers
Attachments
- multi-command-infrastructure-for-pg-regress.patch (text/x-diff) patch
I wrote: > "Bossart, Nathan" <bossartn@amazon.com> writes: >> I run 'make check-world' a lot, and I typically use parallelism and >> redirect stdout to /dev/null as suggested in the docs [0]. This seems >> to eliminate all of the test chatter except for this one message: >> NOTICE: database "regression" does not exist, skipping > Yeah, that's bugged me too ever since we got to the point where that > was the only output ... Actually ... why shouldn't we suppress that by running the command with client_min_messages = warning? This would have to be a change to pg_regress, but I'm having a hard time thinking of cases where quieting that message would be a problem. I tried doing this as a one-liner change in pg_regress's drop_database_if_exists(), but the idea fell over pretty quickly, because what underlies that is a "psql -c" call: $ psql -c 'set client_min_messages = warning; drop database if exists foo' ERROR: DROP DATABASE cannot run inside a transaction block We could dodge that, with modern versions of psql, by issuing two -c switches. So after a bit of hacking I have the attached POC patch. It's incomplete because now that we have this infrastructure we should change other parts of pg_regress to not launch psql N times where one would do. But it's enough to get through check-world without any chatter. Any objections to polishing this up and pushing it? regards, tom lane
Commits
-
Improve pg_regress.c's infrastructure for issuing psql commands.
- f45dc59a38ca 15.0 landed