Thread: BUG #18453: --exclude-database has problems with capital letters
The following bug has been logged on the website: Bug reference: 18453 Logged by: Jernej Simončič Email address: jernej-s31+pg@simoncic.si PostgreSQL version: 16.2 Operating system: Windows Server 2022 Description: I've got a database named Lidar, which I want to exclude from being dumped with pg_dumpall. When I use the following command, the database is not skipped: "C:\Program Files\PostgreSQL\16\bin\pg_dumpall.exe" --exclude-database="Lidar" -U postgres > D:\dumps\pg.dump If I instead use --exclude-database="?idar", the database is skipped as expected (using "lidar" instead of "Lidar" also doesn't skip the database).
On Tuesday, April 30, 2024, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 18453
Logged by: Jernej Simončič
Email address: jernej-s31+pg@simoncic.si
PostgreSQL version: 16.2
Operating system: Windows Server 2022
Description:
I've got a database named Lidar, which I want to exclude from being dumped
with pg_dumpall. When I use the following command, the database is not
skipped:
"C:\Program Files\PostgreSQL\16\bin\pg_dumpall.exe"
--exclude-database="Lidar" -U postgres > D:\dumps\pg.dump
If I instead use --exclude-database="?idar", the database is skipped as
expected (using "lidar" instead of "Lidar" also doesn't skip the database).
There is no bug here. The pattern specified doesn’t quote the identifier so it is folded to lowercase.
You will need to deal with getting quotes into the pattern while dealing with the fact your OS uses quotes for its own purpose.
David J.
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Tuesday, April 30, 2024, PG Bug reporting form <noreply@postgresql.org> > wrote: >> I've got a database named Lidar, which I want to exclude from being dumped >> with pg_dumpall. When I use the following command, the database is not >> skipped: >> "C:\Program Files\PostgreSQL\16\bin\pg_dumpall.exe" >> --exclude-database="Lidar" -U postgres > D:\dumps\pg.dump > You will need to deal with getting quotes into the pattern while dealing > with the fact your OS uses quotes for its own purpose. Yeah. In a Unix shell something like '--exclude-database="Lidar"' would work, but I'm not up on the quoting rules under Windows. regards, tom lane
On sreda, 01. maj 2024, 02:09:29, David G. Johnston wrote: > There is no bug here. The pattern specified doesn’t quote the identifier so it is folded to lowercase. Ah, I missed that pattern is folded to lower-case. > You will need to deal with getting quotes into the pattern while dealing with the fact your OS uses quotes for its ownpurpose. On Windows the program itself deals with splitting the command line to arguments – Windows just passes everything as a singlestring (though the C library does abstract this away, so in this case --exclude-database="\"Lidar\"" or even --exclude-database=\"Lidar\"works). -- < Jernej Simončič ><><><><><><><><><><><>< https://eternallybored.org/ >