Search Postgresql Archives

Re: pg_dump'ed file contains "DROP DATABASE"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/20/23 11:36, pf@xxxxxxxxxxx wrote:
On Mon, 20 Feb 2023 11:06:34 -0800 Adrian Klaver wrote:

On 2/20/23 10:27, pf@xxxxxxxxxxx wrote:
[Still a newbie; but learning fast...]

Hi,


Notwithstanding the man page, my take is that the DROP DATABASE statement
needs to be eliminated at pg_dump creation by pgAdmin4.  Taking this to
that mailing list.

It just dawned on me you might be doing all of this through the pgAdmin4 GUI.

In which case from most recent documentation:

https://www.pgadmin.org/docs/pgadmin4/6.20/index.html

Backup Dialog:

https://www.pgadmin.org/docs/pgadmin4/6.20/backup_dialog.html

Options tab:
"
Move the switch next to Include CREATE DATABASE statement towards right position to include a command in the backup that creates a new database when restoring the backup.

Move the switch next to Include DROP DATABASE statement towards right position to include a command in the backup that will drop any existing database object with the same name before recreating the object during a backup.
"

So the default is not to include those options.

For Restore dialog:

https://www.pgadmin.org/docs/pgadmin4/6.20/restore_dialog.html

Options tab(for custom format):

"
Move the switch next to Include CREATE DATABASE statement towards right position to include a command that creates a new database before performing the restore.

Move the switch next to Clean before restore towards right position to drop each existing database object (and data) before restoring.
"

Again the default is to not include those options.



Thanks Tom & Adrian!

Was my 134 table[1] myname DB saved because it was open?

Tom:  Yup.

If the dump file
contains the above statements, how can I be absolutely certain I won't
lose the DB?

Tom:
Reading the manual is advisable.  --create --clean specifies exactly
that the target database is to be dropped and recreated.

			regards, tom lane

I'm obviously quite paranoid now...

You will lose the database if you do as the docs specify for -C:

"
-C

...

When this option is used, the database named with -d is used only to
issue the initial DROP DATABASE and CREATE DATABASE commands. All data
is restored into the database name that appears in the archive.
"


It will then be recreated with whatever information is in "dumpfile". If
that is the same data or new data you want then you are fine. Otherwise
you will need to be more specific about what you are trying to achieve.



[1] 3 types of tables:  ~40%=8.5M rows; ~40%=33M rows; ~20%=varying sizes

Thanks,
Pierre





--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux