Re: pg14 psql broke \d datname.nspname.relname

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Mark Dilger <mark.dilger@enterprisedb.com>, Greg Stark <stark@mit.edu>, Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, Julien Rouhaud <rjuju123@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Justin Pryzby <pryzby@telsasoft.com>, Stephen Frost <sfrost@snowman.net>, Peter Geoghegan <pg@bowt.ie>
Date: 2022-04-20T20:38:33Z
Lists: pgsql-hackers
On Thu, Apr 21, 2022 at 7:35 AM Robert Haas <robertmhaas@gmail.com> wrote:
> On Wed, Apr 20, 2022 at 3:08 PM Thomas Munro <thomas.munro@gmail.com> wrote:
> > Looks like this somehow broke on a Windows box:
> >
> > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=jacana&dt=2022-04-20%2016%3A34%3A19
>
> So the issue here is that we are running this command:
>
> pg_dumpall --exclude-database .*
>
> And on that Windows machine, .* is being expanded to .gitignore, so
> pg_dumpall prints:
>
> pg_dumpall: error: improper qualified name (too many dotted names): .gitignore
>
> Instead of:
>
> pg_dumpall: error: improper qualified name (too many dotted names): .*
>
> I don't know why that glob-expansion only happens on jacana, and I
> don't know how to fix it, either.

Perhaps bowerbird and jacana have different versions of IPC::Run?  I
see some recent-ish changes to escaping logic in here from Noah:

https://github.com/toddr/IPC-Run/commits/master/lib/IPC/Run/Win32Helper.pm

Looks like the older version looks for meta characters not including
'*', and the later one uses Win32::ShellQuote::quote_native.



Commits

  1. Remove some recently-added pg_dump test cases.

  2. Allow db.schema.table patterns, but complain about random garbage.

  3. Improve error handling of HMAC computations

  4. Factor pattern-construction logic out of processSQLNamePattern.