Re: Documentation clarification request: pg_dumpall and Large Objects - Mailing list pgsql-docs

From Radoulov, Dimitre
Subject Re: Documentation clarification request: pg_dumpall and Large Objects
Date
Msg-id CAGJBphS4TLNvAyNcWj_NSfer9SoDzco35apkT+8-wqXCthSK6w@mail.gmail.com
Whole thread Raw
In response to Re: Documentation clarification request: pg_dumpall and Large Objects  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: Documentation clarification request: pg_dumpall and Large Objects
List pgsql-docs


Il Gio 4 Dic 2025, 16:50 Laurenz Albe <laurenz.albe@cybertec.at> ha scritto:
On Thu, 2025-12-04 at 13:12 +0100, Radoulov, Dimitre wrote:
> I would like to request a clarification in the pg_dumpall
> documentation regarding Large Objects (LOBs). The current
> documentation does not explicitly state whether pg_dumpall includes
> Large Objects in its output.
>
> This behavior is clear from the implementation, but not from the
> documentation.
>
> I propose adding an explicit note such as:
>
>   "pg_dumpall does not include Large Objects (BLOBs). To back up
>    Large Objects, use pg_dump -b per database."

At the beginning of the "pg_dumpall" page we see:

  pg_dumpall is a utility for writing out (“dumping”) all PostgreSQL databases
  of a cluster into one script file. [...].
  It does this by calling pg_dump for each database in the cluster.

And the pg_dump documentation says:

  -b
  --large-objects
  --blobs (deprecated)

    Include large objects in the dump. This is the default behavior except when
    --schema, --table, --schema-only, --statistics-only, or --no-data is specified.

Since pg_dumpall dumps the databases (and not parts of the databases), it will
automatically dump large objects too.

But I admit that you have to go by circumstantial evidence here.  But rather
than explicitly naming large objects, perhaps it would be useful to add something
like

  pg_dumpall is primarily intended as a tool to upgrade database clusters.
  As such, it by default exports all data of the entire cluster.
  The only part of the state of a database cluster that is *not* included
  in the output of pg_dumpall are the configuration files and database parameters
  changed with ALTER SYSTEM.


Thank you for the clarification.

I believe the confusion comes from the historical behavior of pg_dump in older PostgreSQL versions. 

Since pg_dumpall delegates to pg_dump, and pg_dump’s default behavior has included LOBs since 7.1, the current behavior is consistent with your explanation.


Thank you again for your time and for considering the suggestion.

Best regards 
Dimitre

pgsql-docs by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: Documentation clarification request: pg_dumpall and Large Objects
Next
From: Laurenz Albe
Date:
Subject: Re: Documentation clarification request: pg_dumpall and Large Objects