Обсуждение: 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
От
PG Bug reporting form
Дата:
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
От
Daniel Gustafsson
Дата:
> 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
Вложения
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