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 1w6Vfz-004Mzn-07 for pgsql-hackers@arkaria.postgresql.org; Sat, 28 Mar 2026 15:34:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w6Vfx-00EcUL-1u for pgsql-hackers@arkaria.postgresql.org; Sat, 28 Mar 2026 15:34:14 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w6Vfx-00EcUC-14 for pgsql-hackers@lists.postgresql.org; Sat, 28 Mar 2026 15:34:13 +0000 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w6Vfv-00000001ViX-3XUJ for pgsql-hackers@lists.postgresql.org; Sat, 28 Mar 2026 15:34:12 +0000 Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-509062d829dso375001cf.1 for ; Sat, 28 Mar 2026 08:34:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774712051; cv=none; d=google.com; s=arc-20240605; b=T5ONalTukSteAGkBX04Lp+JahPuWg2CJ2vbK4m7yG7WBkXYii924izpDXRoYlOnRig NaJQEeUxIxh8zO6w9kRCVXvfUAL2hemMIqksUvQQ9yFjgFZIuCwABT/2Nx6BEDSqZlRw 28ccFBJ6RqY/nXmv0JyR9+l0hNJfYnOm92cesNKCkG2ZZ8clOLTmMtGLOkfdyCz2TG4j WI9HT8hc0XpnP1t6K7oZcm2RPfZrqcIb0gMdOBN4zvl4p9qV8Ii2WFMgeZLbR2u8UGk7 HdvqaPt8mFU5m+zn5A7+QN8nrOWm6EsN1dUIXYweiOYL9zDUE5CUTSYx+djhklzXuyYb ShnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=SrfMiGoklwHQsYP1Mq4g5VeZnc0XsU3naG6j7q+/Tn4=; fh=7pGtTJ4zoeIHbuFIEIUNTBsuoeO6E3nQ3/WpWFc1NrY=; b=GBud7i5ILEljbfp12WPUTFNXbhtVGech5LulLh/jkTlPkE0JFq5s1I1eClVBTkHykd 16E6H1fKcyRaX3by+dXrk+Tw0nhuD/b89NaGNeEOl455ss2kP7QLrxCD5jjQX73vYXe9 GOYOTVM67d+9kih+lTvXy4b2W9oXnrWYs+4zKdiTvMzxeZffs2jZKlH4Smyzie/r946B 6PLQ0Hapc66Ktt+T2d79RNEUXcTxOPC1O/bjGarts5cRYf5RIzCmS7wdvo/dq4oRZIdz 55m51KaKHHReEW9+8ZC4oaysbAIsaAZSA1h1z4VoelrMqwJaSbQ/ubErfx3gkdJidIKo +0TQ==; 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=google.com; s=20251104; t=1774712051; x=1775316851; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=SrfMiGoklwHQsYP1Mq4g5VeZnc0XsU3naG6j7q+/Tn4=; b=VQLQWZcpttLBW4g5OYYF/3UY+lclBohzV+CvUimYRzTu4LICxCLhwH0xNCIkKHA+tY QRM15ECnzQn6F2sFfb3Y17Xxq55aynCa+g1BgYc0YtH03vkAW7nUMwwpTChrEtqxVNtw MAOiBk3J3GjhVrqXox8bCKld3yNPmM2qcdXzstLZGF0T3Sh0VQRhAdJwQUTaQJoZ6noC ooIL736zyR9zaZOFJvP/3GT69sxMNRJk6KODr9Xl7lWw/bp8WfxFh7tL5X+biZeRHCr6 hRuBuwyKQTIgDan+IP1dTki7zhH0Naij5jWDMTnFvnsl+XEOKp15wzlE+jWTrNjYZnIA AJzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774712051; x=1775316851; h=content-transfer-encoding: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=SrfMiGoklwHQsYP1Mq4g5VeZnc0XsU3naG6j7q+/Tn4=; b=ZOuYgf4trwsXHZHhUxJdV8oxb+raOHqwMxfnr8+BtylzqiFbRU/qv+anFOLqCjU4en S5pyWfPt/IAlY1UktGgavum09e82U79b5W6B0AI9ckIcgIYAbB9EcaXnN57gOqwT5lo0 CcVXMgw756Mjx4a3gVivRs4ylOpFwAVMXn4nY1+8UFMnYaqDraFQLWVeyTZW934b46xZ LbB+NZvlzNScNt7qOuWaMrlltsgjgJxbKw6ImwnbomEq4xo9mFsUuoZ0oobktfksM9Ex LKckOULtE+nCY3Fjiu9gG7rEunRKiIE5VVYhnIX1t5a56tGQjA1QBB4A5wBAlbpMpE5p DInA== X-Forwarded-Encrypted: i=1; AJvYcCUXvvlNzlNv846oez7YTZqahg7Ov8NiZoDWO875yO/8PTb/B15d46KQ6CrOV9sY5I8EoFwzn86Fk8/XDZe+@lists.postgresql.org X-Gm-Message-State: AOJu0YyMXnhhmTXK/WnEwOlB18Ou3wwQVn7DghtNhfBpRF4avzfLv7M2 sYtbWKVAgMppKamcBp1T6QFQyN6ZPlqC0fqiaTiUxtn3X4h9UMLArvDGUv5q1P2zdjOkW7HEr6X dFn3fTsRGxO0Pwewqzpps2U5Nm2uEht9BQIBWIfyHkgDuXLN0cdYr2BIQXRU= X-Gm-Gg: ATEYQzx4xhH2JuyasAZT4dnYgjG4JPH2ooHTnaL72yLEswkKxbXpHNvTu7yH522eE30 5AL+XMHgy4BBCTRR4JGtiIk/lPiKQGbR3mHUNNiN9lYSayDZkR4MOV872HWnWQ+4LbXOAbPi1Fm fPJo9wOG7P7wk9ANNptSQ1gy4kRRBwfDm+kgZ6hgEneRIFHI3ExRMkPIGnQ5jPpZqluJMQz9o9R HAApT+Ym1voJnzVvgpqIv2chHon9Sq4vdi8hxxhYxHxS5GoPJyJNGHH+SIV1Ah6Ja5BU1wSOA6s w+Gcr/YfWl/ofrw0W6wKF0A6qsaaJO2dNYz6t3KOhBu9TcnHVcW9SqBj52pL69p0FeW06yPV X-Received: by 2002:a05:622a:580b:b0:509:1c2c:866 with SMTP id d75a77b69052e-50bb3d96371mr8768691cf.11.1774712050579; Sat, 28 Mar 2026 08:34:10 -0700 (PDT) MIME-Version: 1.0 References: <69c7bad1.050a0220.346c9.c80cSMTPIN_ADDED_BROKEN@mx.google.com> In-Reply-To: From: Hannu Krosing Date: Sat, 28 Mar 2026 16:33:59 +0100 X-Gm-Features: AQROBzCPSmsqoceJwVJGtbRdFWN34pU8tK7mepdjWlP7IWEzqlwHdIGnZn1ZRZ0 Message-ID: Subject: Re: Patch: dumping tables data in multiple chunks in pg_dump To: Michael Banck Cc: David Rowley , Ashutosh Bapat , PostgreSQL Hackers , Nathan Bossart Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk The above "Or it can be almost 200 GB if the page has just pointers to 1GB TOAST item= s." should read "Or it can be almost 200 GB *for a single page* if the page has just pointers to 1GB TOAST items." On Sat, Mar 28, 2026 at 4:32=E2=80=AFPM Hannu Krosing w= rote: > > The issue is that currently the value is given in "main table pages" > and it would be somewhat deceptive, or at least confusing, to try to > express this in any other unit. > > As I explained in the commit message: > > ---------8<-------------------8<-------------------8<---------------- > This --max-table-segment-pages number specifically applies to main table > pages which does not guarantee anything about output size. > The output could be empty if there are no live tuples in the page range. > Or it can be almost 200 GB if the page has just pointers to 1GB TOAST ite= ms. > ---------8<-------------------8<-------------------8<---------------- > > And I can think of no cheap and reliable way to change that equation. > > I'll be very happy if you have any good ideas for either improving the > flag name, or even propose a way to better estimate the resulting dump > file size so we could give the chunk size in better units > > --- > Hannu > > > > > > On Sat, Mar 28, 2026 at 12:26=E2=80=AFPM Michael Banck w= rote: > > > > Hi, > > > > On Tue, Jan 13, 2026 at 03:27:25PM +1300, David Rowley wrote: > > > Perhaps --max-table-segment-pages is a better name than > > > --huge-table-chunk-pages as it's quite subjective what the minimum > > > number of pages required to make a table "huge". > > > > I'm not sure that's better - without looking at the documentation, > > people might confuse segment here with the 1GB split of tables into > > segments. As pg_dump is a very common and basic user tool, I don't thin= k > > implementation details like pages/page sizes and blocks should be part > > of its UX. > > > > Can't we just make it a storage size, like '10GB' and then rename it to > > --table-parallel-threshold or something? I agree it's bikeshedding, but > > I personally don't like either --max-table-segment-pages or > > --huge-table-chunk-pages. > > > > > > Michael