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 1wQPzr-001XlT-1V for pgsql-admin@arkaria.postgresql.org; Fri, 22 May 2026 13:33:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wQPzo-00D9qW-0h for pgsql-admin@arkaria.postgresql.org; Fri, 22 May 2026 13:33:01 +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 1wQPzn-00D9qN-2p for pgsql-admin@lists.postgresql.org; Fri, 22 May 2026 13:33:00 +0000 Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wQPzm-00000000tTh-3oYy for pgsql-admin@lists.postgresql.org; Fri, 22 May 2026 13:33:00 +0000 Received: by mail-ot1-x32b.google.com with SMTP id 46e09a7af769-7d4c383f2fcso6249968a34.0 for ; Fri, 22 May 2026 06:32:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779456776; cv=none; d=google.com; s=arc-20240605; b=Ypicfwej6u1y52pj9U3YPkXstbCEV9idUlZC+vfLikSGqxgPCwPHNpwbZvJ6cKulDk tGRhZHpOeZrWmDTyx+ncOg93S5unVUo24fCfqtCfBMwEKtIv03rJjvwmLltwv+ZQMqDG /JZFZSBEIq3aTZYNOPZupXcOsCz4K2jchyFO+5wtJKjhMgNkqQ/wviMLgNNKjERu8AsD /Qpp1icGPAY5DB3+bmKQJC3I2rw6eyGNwM67kYZOyiF2IzYE7NbTSj1ZnrbiqtA14+Nn UjQ/roc0rsYnbLOGSQQwPzk6l+t2KVNbeuntnEsaR/BxOTLCvvlpNH1RCrTfoGeyzdgj lNDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=FQAArRfC1y/UpuSx1EcDXw1Mw9Mb9JYu7ysYgvLPMoY=; fh=druxZHa2fk4e6MLibibygn9AWWgeaAPo4m8Gpo2MBXU=; b=J3EPq4O041tYsFrI+xAcVa4HXvugtO8C8rR8KgA4a1VLn3ChKEVBXJEJAD74Ke9ZzK 8tM0yXV5Vh1CcV4B5BKXBBzz3vouKuz01kTwJQcyJBiZUMM9dHVMfWVJlFX3e1Fvv+G/ yncx7BR3glQuNMYwsjiEOHJ1TZZa3k0ZfNcjkqkWv/LleCU0svvKquRbHT2IZ8zg2j7l VQrwOK65ayWRofpQGxowYf4AJCVj2sNn6XLp4IqTeCsQzuGEawobRDxHodSZNVuzi8kt De0l1FP3Gy1vHaIt4yk0SDNSfSU+G93kPMu3Ao8qsTQxmPIoPq7LF39oAginJfRoGW9n Of0g==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779456776; x=1780061576; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=FQAArRfC1y/UpuSx1EcDXw1Mw9Mb9JYu7ysYgvLPMoY=; b=QL4B6uUW/IdXa9GDK0bs7lo+R0dIEP2nbof3RZgP1+tcoAl9ESdYmbBNyAcA1jwSCv HQ8Vev0CRml/IRUDc71CfjKZp9fom5AuOmUc+5XkJaHn5/ss8Keb3JthOm79xgW8zAZ1 b11RfvLmtvL7c4IJ1l6JigHqNpgSCKpRBVdd+O3Og8Tui++j9dDW/lUVtyd+icLauoN5 GTsWu1Wx7uAogowsG2NAzqISgM3OUUM78dEnyB+RJw2YTB7t4VHMQkSo5V9gg0PFhq1b uagkpSG0Ht8/+yW3xuEZjIRGm/oHVMxUi2zATyJSL/PfUbns+SmTlf7O0fa9vN2xPQwP o8kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779456776; x=1780061576; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FQAArRfC1y/UpuSx1EcDXw1Mw9Mb9JYu7ysYgvLPMoY=; b=aWROlOXEiZmgsi9VdroM4lA9UPP2u7deoiUmhKnwUKJZRfBt+kn8EB7FzxjolkCfqN R/AsqPLcDhnoLXVh+frQhWvVXbF9QEqRA8Z+/tur1B1RFwabngvsGgyKnRHfftXgWzDk l1qzgzRVYCgWymLj7PdL94/GoIKwkfgpxVPlgo5XYbSm57qtWtZDhbxXzdaSy6u33U+J N/3cuzUcgpNQRpuhiXw0C+8YNo35G1UjymitDZoaZ4mwiLBtZJo6mC4owvAJj+EwPuOz qk57VaPMFva5jiSKxEh65UOgyrdqA/ADnUGKmOHq3pvtAvxVFakHiUnudYfL15uJEajj o0rQ== X-Gm-Message-State: AOJu0YzhXBosILWSWg/XUXo7oKMFM6OVh6BQJaZr5Vv/x32S2U1XpLbv bKhGA1hvKCAIDc1D6sTLU/fcpgBPuflYZZy0IINM0NhUeizaadFNkCNm4TUYQmFjTfKgDvVopY8 hS3U02GNTFxp3ZRKCY57FNPXLKA4DDh/NkA== X-Gm-Gg: Acq92OFNyjaOChU8ndWP3GdG5qQZhTCO1Km44dx+SL7KuJDER8x6jY9S019GSlcYqtm DKQ6tYsgrRb4NqS4XQBBuPnGFHfBFkUhK9xuqQGGFm6qOBAwxLXaMmyWUTmgl5u2iQq/9NAhofG 35gK63PPiR2bxZO3zZJ+WL9ApLIrsg9e2Cf7vIloj5a1XceokTr5xJp2kPzKE07D5eyGwUVfV3J BrItezBoTtM6i3sCkpPEr1LSfa/UkpHLdJ7YNPKHRGGrm+l52EMpuXAaKbIKRnyONRJ8hlCCPZj BRFOSkRIhrtxT8St5XEO7aWcc7s0ZQ== X-Received: by 2002:a05:6830:448a:b0:7dc:1615:7b52 with SMTP id 46e09a7af769-7e5ff08c093mr1779676a34.26.1779456776019; Fri, 22 May 2026 06:32:56 -0700 (PDT) MIME-Version: 1.0 From: Ron Johnson Date: Fri, 22 May 2026 09:32:44 -0400 X-Gm-Features: AVHnY4IajoT6717PxqeWUd5MUFnbSFjGxko0ZD74hluVVDzF4hb183VjgfDyvss Message-ID: Subject: Request For Feature: pg_dump To: Pgsql-admin Content-Type: multipart/alternative; boundary="0000000000000721f206526811f9" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000721f206526811f9 Content-Type: text/plain; charset="UTF-8" In --format=directory mode, remove .dat files with zero data records, and mark that table's toc.dat entry that it's an empty table. Justification: *lots* of empty tables means *lots* of teeny-tiny files in the DB's dump directory. That unnecessarily bloats the fs, and makes "du -c" really really slow. But why are there sooo many empty tables? You shouldn't have so many empty tables! Yeah, well, software (especially 3rd-party software that must be generic to satisfy the varying needs of a large and varied customer base) can't always be perfectly tuned to the precise and immediate needs of a particular site. Partitioning makes that much much worse. We've survived this long without it, but pgbackrest has a similar feature (though implemented differently from how pg_dump would do it), and it's *really* handy. -- Death to , and butter sauce. Don't boil me, I'm still alive. lobster! --0000000000000721f206526811f9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
In --format=3Ddirectory mode, remove .dat files with = zero data records, and mark that table's toc.dat entry that it's an= empty table.

Justification: lots of empty = tables means lots=C2=A0of teeny-tiny files in the DB's dump dire= ctory.=C2=A0 That unnecessarily bloats the fs, and makes "du -c" = really really slow.

But why are there sooo many em= pty tables?=C2=A0 You shouldn't have so many empty tables!
Yeah, well, software (especially 3rd-party software that must = be generic to satisfy the varying needs of a large and varied customer base= ) can't always be perfectly tuned to the precise and immediate needs of= a particular site.=C2=A0 Partitioning makes that much much worse.

We've survived this long without it, but pgbackrest ha= s a similar feature (though implemented differently from how pg_dump would = do it), and it's really=C2=A0handy.

--
Death to &= lt;Redacted>, and butter sauce.
Don't boil me, I'm still ali= ve.
<Redacted> lobster!
--0000000000000721f206526811f9--