BUG #18245: pg_restore accepts same output file name as input file name
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!
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
Attachments:
pg_restore_filecheck.diffapplication/octet-stream; name=pg_restore_filecheck.diff; x-unix-mode=0644Download+7-0
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