Thread

Commits

  1. Doc: clarify introductory description of pg_dumpall.

  2. Add non-text output formats to pg_dumpall

  1. Documentation clarification request: pg_dumpall and Large Objects

    Radoulov, Dimitre <cichomitiko@gmail.com> — 2025-12-04T12:12:50Z

    Hello,
    
    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.
    
    In the source code (pg_dumpall.c), there is a comment indicating
    that pg_dumpall forces all pg_dump output to plain text. Since Large
    Objects are only included by pg_dump when using -b or non-text
    archive formats (custom/tar), pg_dumpall cannot include LOBs 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."
    
    This clarification would help prevent user confusion during
    cluster-wide backup procedures.
    
    Thank you.
    
    Best regards,
    Dimitre Radoulov
    
  2. Re: Documentation clarification request: pg_dumpall and Large Objects

    Laurenz Albe <laurenz.albe@cybertec.at> — 2025-12-04T15:50:55Z

    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.
    
    Yours,
    Laurenz Albe
    
    
    
    
  3. Re: Documentation clarification request: pg_dumpall and Large Objects

    Radoulov, Dimitre <cichomitiko@gmail.com> — 2025-12-04T17:12:53Z

    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
    
    >
    
  4. Re: Documentation clarification request: pg_dumpall and Large Objects

    Laurenz Albe <laurenz.albe@cybertec.at> — 2025-12-04T18:11:44Z

    On Thu, 2025-12-04 at 18:12 +0100, Radoulov, Dimitre wrote:
    > 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.
    > > 
    > > 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 again for your time and for considering the suggestion.
    
    Attached is a patch for such a change.
    
    I'll add it to the next commitfest.
    
    Yours,
    Laurenz Albe
    
  5. Re: Documentation clarification request: pg_dumpall and Large Objects

    Laurenz Albe <laurenz.albe@cybertec.at> — 2026-02-27T22:23:35Z

    On Thu, 2025-12-04 at 19:11 +0100, Laurenz Albe wrote:
    > On Thu, 2025-12-04 at 18:12 +0100, Radoulov, Dimitre wrote:
    > > 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.
    > > > 
    > > > 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.
    > 
    > Attached is a patch for such a change.
    
    Commit 763aaa06f0 has changed the situation: with the addition of other formats
    than the plain format, it no longer makes sense to say that pg_dumpall
    is not useful for backup.  Still, we should clarify what is *not* included.
    
    The attached patch does that and in passing improves the readability.
    
    Yours,
    Laurenz Albe
    
  6. Re: Documentation clarification request: pg_dumpall and Large Objects

    Radoulov, Dimitre <cichomitiko@gmail.com> — 2026-02-28T09:45:40Z

    Il Ven 27 Feb 2026, 23:23 Laurenz Albe <laurenz.albe@cybertec.at> ha
    scritto:
    
    > On Thu, 2025-12-04 at 19:11 +0100, Laurenz Albe wrote:
    > > On Thu, 2025-12-04 at 18:12 +0100, Radoulov, Dimitre wrote:
    > > > 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.
    > > > >
    > > > > 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.
    > >
    > > Attached is a patch for such a change.
    >
    > Commit 763aaa06f0 has changed the situation: with the addition of other
    > formats
    > than the plain format, it no longer makes sense to say that pg_dumpall
    > is not useful for backup.  Still, we should clarify what is *not* included.
    >
    > The attached patch does that and in passing improves the readability.
    >
    
    
    Thank you for the update.
    
    Best regards
    Dimitre
    
    >
    
  7. Re: Documentation clarification request: pg_dumpall and Large Objects

    Tom Lane <tgl@sss.pgh.pa.us> — 2026-03-29T17:55:11Z

    Laurenz Albe <laurenz.albe@cybertec.at> writes:
    > Commit 763aaa06f0 has changed the situation: with the addition of other formats
    > than the plain format, it no longer makes sense to say that pg_dumpall
    > is not useful for backup.  Still, we should clarify what is *not* included.
    
    > The attached patch does that and in passing improves the readability.
    
    Pushed with trivial grammatical adjustments.  I also failed to resist
    the temptation to improve the newly-added text nearby.
    
    			regards, tom lane
    
    
    
    
  8. Re: Documentation clarification request: pg_dumpall and Large Objects

    Laurenz Albe <laurenz.albe@cybertec.at> — 2026-03-29T18:12:17Z

    On Sun, 2026-03-29 at 13:55 -0400, Tom Lane wrote:
    > Laurenz Albe <laurenz.albe@cybertec.at> writes:
    > > Commit 763aaa06f0 has changed the situation: with the addition of other formats
    > > than the plain format, it no longer makes sense to say that pg_dumpall
    > > is not useful for backup.  Still, we should clarify what is *not* included.
    > 
    > > The attached patch does that and in passing improves the readability.
    > 
    > Pushed with trivial grammatical adjustments.  I also failed to resist
    > the temptation to improve the newly-added text nearby.
    
    Thank you,
    Laurenz Albe