Re: Non-text mode for pg_dumpall

jian he <jian.universality@gmail.com>

From: jian he <jian.universality@gmail.com>
To: Mahendra Singh Thalor <mahi6run@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Guillaume Lelarge <guillaume@lelarge.info>, Nathan Bossart <nathandbossart@gmail.com>, Magnus Hagander <magnus@hagander.net>, Tom Lane <tgl@sss.pgh.pa.us>, Andrew Dunstan <andrew@dunslane.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Dilip Kumar <dilipbalaut@gmail.com>
Date: 2025-01-16T05:17:51Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add non-text output formats to pg_dumpall

  2. Improve pg_dump/pg_dumpall help synopses and terminology

  3. Non text modes for pg_dumpall, correspondingly change pg_restore

  4. Doc: manually break lines in wide UUID examples.

hi.

in master src/bin/pg_dump/pg_restore.c: main function
    if (opts->tocSummary)
        PrintTOCSummary(AH);
    else
    {
        ProcessArchiveRestoreOptions(AH);
        RestoreArchive(AH);
    }
opts->tocSummary is true (pg_restore --list), no query will be executed.
but your patch (pg_restore --list) may call execute_global_sql_commands,
which executes a query.


        sscanf(line, "%u" , &db_oid);
        sscanf(line, "%s" , db_oid_str);
i think it would be better
        sscanf(line, "%u %s" , &db_oid, db_oid_str);


in doc/src/sgml/ref/pg_dumpall.sgml
Note: This option can be omitted only when --format=p|plain.
maybe change to
Note: This option can be omitted only when <option>--format</option> is plain.

--format=format section:
""
Under this databases subdirectory, there will be subdirectory with
dboid name for each database.
""
this sentence is not correct? because
drwxr-xr-x   databases
.rw-rw-r--    global.dat
.rw-rw-r--    map.dat

"databases" is a directory, and under the "database" directory, it's a
list of files.
each file filename is corresponding to a unique database name
so there is no subdirectory under subdirectory?


in src/bin/pg_dump/meson.build
you need add  'common_dumpall_restore.c', to the pg_dump_common_sources section.
otherwise meson build cannot compile.


$BIN6/pg_restore --dbname=src6 --verbose --list $SRC6/dumpall.custom6
pg_restore: error: option -C/--create should be specified when using
dump of pg_dumpall
this command should not fail?


in doc/src/sgml/ref/pg_restore.sgml
     <varlistentry>
      ...
      <term><option>--format=<replaceable
class="parameter">format</replaceable></option></term>
also need
<term><literal>plain</literal></term>
?