From: | jian he <jian(dot)universality(at)gmail(dot)com> |
---|---|
To: | Mahendra Singh Thalor <mahi6run(at)gmail(dot)com> |
Cc: | Srinath Reddy <srinath2133(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Non-text mode for pg_dumpall |
Date: | 2025-02-18 06:10:52 |
Message-ID: | CACJufxGS6_U2p0n4RsoPptOt8Bvy_kQGpZWi-zc7KDHoB=YTFQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
hi.
<refnamediv>
<refname>pg_restore</refname>
<refpurpose>
restore a <productname>PostgreSQL</productname> database from an
archive file created by <application>pg_dump</application>
or restore multiple <productname>PostgreSQL</productname> database from an
archive directory created by <application>pg_dumpall</application>
</refpurpose>
</refnamediv>
i think it's way too verbose. we can change it to:
<refpurpose>
restore <productname>PostgreSQL</productname> database from an
archive file created by <application>pg_dump</application> or
<application>pg_dumpall</application>
</refpurpose>
<para>
<application>pg_restore</application> is a utility for restoring a
<productname>PostgreSQL</productname> database from an archive
created by <xref linkend="app-pgdump"/> in one of the non-plain-text
formats.
we can change it to
<para>
<application>pg_restore</application> is a utility for restoring
<productname>PostgreSQL</productname> databases from an archive
created by <xref linkend="app-pgdump"/> or <xref
linkend="app-pgdumpall"/> in one of the non-plain-text
formats.
similarly, pg_dumpall first 3 sentences in the description section
needs to change.
in pg_restore.sgml <option>--create</option section,
maybe we can explicitly mention that restoring multiple databases,
<option>--create</option> is required.
like: "This option is required when restoring multiple databases."
restoreAllDatabases
+ if (!conn)
+ pg_log_info("there is no database connection so consider pattern as
simple name for --exclude-database");
filter_dbnames_for_restore
+ if (!conn)
+ pg_log_info("considering PATTERN as NAME for --exclude-database
option as no db connection while doing pg_restore.");
these two log messages sent out the same information.
maybe we can remove the first one, and change the second to
if (!conn && db_exclude_patterns.head != NULL)
pg_log_info("considering PATTERN as NAME for
--exclude-database option as no db connection while doing
pg_restore.");
as mentioned in the previous thread, there is no need to change PrintTOCSummary.
another minor issue about comments.
I guess we can tolerate this minor issue.
$BIN10/pg_restore --format=tar --create --file=1.sql
--exclude-database=src10 --verbose tar10 > dir_format 2>&1
1.sql file will copy tar10/global.dat as is. but we already excluded
src10. but 1.sql will still have comments as
--
-- Database "src10" dump
--
$BIN10/pg_dumpall --format=custom --file=x1.dump --globals-only
$BIN10/pg_dumpall --format=custom --file=x2.dump
Currently x1.dump/global.dat is differ from x2.dump/global.dat
if we dump multiple databases using pg_dumpall we have
"
--
-- Databases
--
--
-- Database "template1" dump
--
--
-- Database "src10" dump
--
--
-- Database "x" dump
--
"
maybe there are not need, since we already have map.dat file
I am not sure if the following is as expected or not.
$BIN10/pg_dumpall --format=custom --file=x1.dump --globals-only
$BIN10/pg_restore --create --file=3.sql --globals-only x1.dump --verbose
$BIN10/pg_restore --create --file=3.sql x1.dump --verbose
the first pg_restore command will copy x1.dump/global.dat as is to 3.sql,
the second pg_restore will not copy anything to 3.sql.
but the second command implies copying global dumps to 3.sql?
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2025-02-18 06:15:48 | Re: ReplicationSlotRelease() crashes when the instance is in the single user mode |
Previous Message | Jeff Davis | 2025-02-18 05:49:51 | Re: Reduce TupleHashEntryData struct size by half |