Re: There should be a way to use the force flag when restoring databases

Ahmed Ibrahim <ahmed.ibr.hashim@gmail.com>

From: Ahmed Ibrahim <ahmed.ibr.hashim@gmail.com>
To: Gurjeet Singh <gurjeet@singh.im>
Cc: Daniel Gustafsson <daniel@yesql.se>, Joan <aseques@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2023-07-23T13:08:53Z
Lists: pgsql-hackers

Attachments

Hi everyone,

I have been working on this. This is a proposed patch for it so we have a
force option for DROPping the database.

I'd appreciate it if anyone can review.



On Thu, Jul 20, 2023 at 9:36 PM Gurjeet Singh <gurjeet@singh.im> wrote:

> On Thu, Jul 20, 2023 at 2:10 AM Daniel Gustafsson <daniel@yesql.se> wrote:
> >
> > > On 19 Jul 2023, at 19:28, Gurjeet Singh <gurjeet@singh.im> wrote:
> > >
> > > The docs for 'pg_restore --create` say "Create the database before
> > > restoring into it. If --clean is also specified, drop and recreate the
> > > target database before connecting to it."
> > >
> > > If we provided a force option, it may then additionally say: "If the
> > > --clean and --force options are specified, DROP DATABASE ... WITH
> > > FORCE command will be used to drop the database."
> >
> > pg_restore --clean refers to dropping any pre-existing database objects
> and not
> > just databases, but --force would only apply to databases.
> >
> > I wonder if it's worth complicating pg_restore with that when running
> dropdb
> > --force before pg_restore is an option for those wanting to use WITH
> FORCE.
>
> Fair point. But the same argument could've been applied to --clean
> option, as well; why overload the meaning of --clean and make it drop
> database, when a dropdb before pg_restore was an option.
>
> IMHO, if pg_restore offers to drop database, providing an option to
> the user to do it forcibly is not that much of a stretch, and within
> reason for the user to expect it to be there, like Joan did.
>
> Best regards,
> Gurjeet
> http://Gurje.et
>
>
>