Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vRCtB-009TK1-1V for pgsql-docs@arkaria.postgresql.org; Thu, 04 Dec 2025 17:13:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vRCtA-003dgr-1T for pgsql-docs@arkaria.postgresql.org; Thu, 04 Dec 2025 17:13:08 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vRCtA-003dgJ-0U for pgsql-docs@lists.postgresql.org; Thu, 04 Dec 2025 17:13:08 +0000 Received: from mail-ot1-x332.google.com ([2607:f8b0:4864:20::332]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vRCt8-0038Vd-1C for pgsql-docs@lists.postgresql.org; Thu, 04 Dec 2025 17:13:08 +0000 Received: by mail-ot1-x332.google.com with SMTP id 46e09a7af769-7c77fc7c11bso1337175a34.1 for ; Thu, 04 Dec 2025 09:13:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764868384; x=1765473184; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=db2r2MziT+EPoi2GkUT1BIiZmM9oMtH0Qmt/2qpOkgw=; b=ADpa63dGika7477uuVaJepuE6pSSavNLbK8/DB2a4DNTCEpHMAtibze9YqR/TESq3w kVi0TwW04jQO4CiyiXqd9z6XArJqs4392n3C7NcdJtawBTBU8FBQluD2TTZBSPfxzLmF w13krFJvBPvBNOdsTHJB4hZD7hMTzI4YiqSVhk2JLrDdHlkQKQl+6Y7iPeZ6TA7W9GCu AHidlwJ4mKcIhaoH/+GKNbXGGtT8O8RExFtCHAw0hupTrUTDrhW6857jpi2hPQ4ruuk2 XG2hU52mCbJmGSzfAzAMVkWl9+nzoAtO+LFlpY19tMWV4rR8bH8BSOuv/iNSZRxTre4z kzPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764868384; x=1765473184; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=db2r2MziT+EPoi2GkUT1BIiZmM9oMtH0Qmt/2qpOkgw=; b=HxVqe8ouKAuV4dzuPYG+ZsdZPocf3kyHVbk8JKVdHzCti4aRBm/T6ZpH7o8FzQHUPS xJmfRrFckVlhm9rwc6g4HYHZARaI+Mt+q2+UiuEE/EhbL562MPKAM7d46uXHlJ5S9zci Up2ljkstu/Dxdm7MxsvghwrT6q/kx/Qpecv341mUvo84tJJwqaseK1blJZgIhL5kLkIY cvXtJqaDWPAY4UeSQulm7jEJDnrnF8yEUojaBPuM+hVJpGFZzFU81iBbz0k9cUC7MMOx vDH5wwxLco7dVoiFxlrPjJkU7yvQ18+lDYLXcLO2SsY/IGoUK2nHWCIeKUt6KJUBrcYX 0mxQ== X-Gm-Message-State: AOJu0YzE8IE0Eaza63lZ5hw/IYWd8KWzhp1di3VS7xBTpDlD6Fi0/fSk O6T49wgRIGqGih/JX4shKlNtJ5mt7Jkp6c7YrFL8+JeeAPYSYN4Dy7GYOvtXdCBEz0t1mJDmVtx 0VEJbPHIr5J8LvzDBoqk+IJ/sk+XdveTCpw== X-Gm-Gg: ASbGnctgG4iDApNTwsa0H5eQxXNDdjpq204vNaSaW5p9AkcktDzRYTOCFu9uxgAjw8g IW34Q/SlWCYjtv2VBPDoVgZdjH0IS2KkaHyjdSL0siLv1ROvGR68YzaACOScgJ4rjVs55W9v2fU tbsbz1XzwUZsbbuz61eEUnOiPIC+uvgOtKx8KiAw+lEFFh9TzRTxBIJBUp1vtvLF8bzui9t0myP GcluPvrBLgywh4D3GIa1j3epyJ7a+tgznxc7ljuTqb1NYdOL+85Azhts4F4BU2Ia/l/yg== X-Google-Smtp-Source: AGHT+IEFPuK54VkfM/CeXyN1V/TSj5lE8iUviT2Mdei8zYIGaVFPGCIIOicAnN2DLYu+0I6jZiiuTKZ6oWV6TRvGXPg= X-Received: by 2002:a05:6830:440d:b0:7c7:68d8:f70f with SMTP id 46e09a7af769-7c957bf0441mr3315978a34.3.1764868383843; Thu, 04 Dec 2025 09:13:03 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: "Radoulov, Dimitre" Date: Thu, 4 Dec 2025 18:12:53 +0100 X-Gm-Features: AWmQ_blfG-UuXdUYxXikTw_EXf7FojPs0ilvVpwBuUOei20xejwjvivquZCBvNA Message-ID: Subject: Re: Documentation clarification request: pg_dumpall and Large Objects To: Laurenz Albe Cc: pgsql-docs@lists.postgresql.org Content-Type: multipart/alternative; boundary="000000000000182a4b06452371fe" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000182a4b06452371fe Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Il Gio 4 Dic 2025, 16:50 Laurenz Albe 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 (=E2=80=9Cdumping=E2=80=9D) 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 excep= t > 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=E2=80=99s default behavi= or 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 > --000000000000182a4b06452371fe Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Il Gio 4 Dic 2025, 16:50 Laurenz= Albe <laurenz.albe@cybertec= .at> ha scritto:
On Thu, 202= 5-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:
>
> =C2=A0 "pg_dumpall does not include Large Objects (BLOBs). To bac= k up
> =C2=A0 =C2=A0Large Objects, use pg_dump -b per database."

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

=C2=A0 pg_dumpall is a utility for writing out (=E2=80=9Cdumping=E2=80=9D) = all PostgreSQL databases
=C2=A0 of a cluster into one script file. [...].
=C2=A0 It does this by calling pg_dump for each database in the cluster.
And the pg_dump documentation says:

=C2=A0 -b
=C2=A0 --large-objects
=C2=A0 --blobs (deprecated)

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

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

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

=C2=A0 pg_dumpall is primarily intended as a tool to upgrade database clust= ers.
=C2=A0 As such, it by default exports all data of the entire cluster.
=C2=A0 The only part of the state of a database cluster that is *not* inclu= ded
=C2=A0 in the output of pg_dumpall are the configuration files and database= parameters
=C2=A0 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.=C2=A0

Since pg_dumpall delegates to pg_dump, and pg_dump=E2= =80=99s 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=C2=A0
Dimitre
--000000000000182a4b06452371fe--