Thread: BUG #18245: pg_restore accepts same output file name as input file name
BUG #18245: pg_restore accepts same output file name as input file name
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 18245 Logged by: Mohammad Al Zouabi Email address: mb.alzouabi@gmail.com PostgreSQL version: 14.10 Operating system: macOS Description: Please let it fail when the user passes the same name for the output as the input. I just lost a very important .tar file because I forgot to replace .tar with .sql. Thanks!
Re: BUG #18245: pg_restore accepts same output file name as input file name
From
Daniel Gustafsson
Date:
> On 13 Dec 2023, at 04:39, PG Bug reporting form <noreply@postgresql.org> wrote: > Please let it fail when the user passes the same name for the output as the > input. I think this sounds like a fair restriction, input and output being the same seems much more likely to be a copy/paste issue than an interesting usecase. Something like the attached (untested) sketch should be enough I think. -- Daniel Gustafsson
Attachment
Re: BUG #18245: pg_restore accepts same output file name as input file name
From
Julien Rouhaud
Date:
Hi, On Wed, Dec 13, 2023 at 09:44:26AM +0100, Daniel Gustafsson wrote: > > On 13 Dec 2023, at 04:39, PG Bug reporting form <noreply@postgresql.org> wrote: > > > Please let it fail when the user passes the same name for the output as the > > input. > > I think this sounds like a fair restriction, input and output being the same > seems much more likely to be a copy/paste issue than an interesting usecase. +1 > Something like the attached (untested) sketch should be enough I think. I'm wondering if it would be worth adding some canonicalize_path() calls while at it, ISTM that such mistakes are likely to happen when invoking pg_restore manually, so having slightly different wording for the exact same file wouldn't surprising.
Julien Rouhaud <rjuju123@gmail.com> writes: > On Wed, Dec 13, 2023 at 09:44:26AM +0100, Daniel Gustafsson wrote: >> Something like the attached (untested) sketch should be enough I think. > I'm wondering if it would be worth adding some canonicalize_path() calls while > at it, ISTM that such mistakes are likely to happen when invoking pg_restore > manually, so having slightly different wording for the exact same file wouldn't > surprising. I'm a little dubious about the value of this; but if we're going to do it, comparing post-canonicalize_path strings does seem like the right way. regards, tom lane