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 1w6VeR-004MyN-2t for pgsql-hackers@arkaria.postgresql.org; Sat, 28 Mar 2026 15:32:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w6VeP-00EaX9-3D for pgsql-hackers@arkaria.postgresql.org; Sat, 28 Mar 2026 15:32:38 +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 1w6VeP-00EaX1-2C for pgsql-hackers@lists.postgresql.org; Sat, 28 Mar 2026 15:32:38 +0000 Received: from mail-qt1-x832.google.com ([2607:f8b0:4864:20::832]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w6VeO-00000001VhZ-0FXc for pgsql-hackers@lists.postgresql.org; Sat, 28 Mar 2026 15:32:37 +0000 Received: by mail-qt1-x832.google.com with SMTP id d75a77b69052e-50b6c45781aso442511cf.0 for ; Sat, 28 Mar 2026 08:32:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774711955; cv=none; d=google.com; s=arc-20240605; b=iIC4FTmJR7xtcKUsXQYJDOdJxlPK93cirTE+G2md1v2Mp1OCoLxYQLcudNleBE9sb6 V01+SCV5Zka8bQlbvtEqT9LnYugPBnvzxdN0m0IucK0fB0sNkR14Zuji2qUfH3oeH3M5 oDFSHsmkNwoMqR4zxZA9dB7prr2VRS7mThFJIWZjuTZIUqlO/Yl/dXdL16rPaagIGMkN BtQMeY5EIeCUF3ZNOdqmyLcEbu36T5bkJdnSE7d5loVe3tzW5dyuO1soKV6tZkteESTS Rvq+gbKu6FJT9j4u8Ox1d+Q7bfmiWdtd5Mh01o7oOykQ1btN/AHTsPcbDpEIcHECS7gQ RSsg== 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=7tLkrDKp1rDQd/OwKHebT9YezZMtfX3fZzYGkdR3Ujw=; fh=pdOor+M5WeCd2De/SAdwz12cLjOp8SOctbcvJLqV9ys=; b=M9r1QOamlxNfbZuZTw1XBhXXxZzWCMSKxZrjI8TBNEizeZQsgHKThBw4loZ8IZyGD6 0vODHGyK8up3lUwgmBxyuaoql0CBrn0woo0/buxKfptqSpWmCiBYB78jLZaQHsV8ioT5 fwZpZSRPtGOd0yatDHHhie4lZnxbCJf+JBjmIbl3MhrvmaacVezcjWXY4Tdk3pKx5qKN h9qCW30lLfqQs3CpUN06WaDqiF6/bpPs6m7RbLMbslOS3fpBBF0WIKsDJ4/q/h9+Y1+m WNKPE0SX9jUchf0fEq/gFPwL6/k7WUmu/DIkQ5NS8uHCbrfXWdClCEPMz9KbKuIzlXve wuRw==; 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=1774711955; x=1775316755; 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=7tLkrDKp1rDQd/OwKHebT9YezZMtfX3fZzYGkdR3Ujw=; b=pBueMp1S6XKQ1XnFtK7Pd6fTe+U094kOj0u1Nc+tAmdhqp0bXe8oSKzy+tb9BEsI4L Zxs+WZew+z7F8Huy1fjca4I9hmzzj8ohguFhBwQwhs//JLUvEGJPZ7nfeUCCN/347ZLi 0JOUJfF61fajzZQ++2ThuDbeWQ/VIgmlhA3+Cnuo8t9DBkXjz4RL8z406f+CfL+pEHYh WhEPsaR0/F0j7kdvq5BuXmVhfdIZqCSsCH1nbv4lQIciU69f9Uc5/SUps4ZvfOFF7+Mo 7PLRnYUytnFDUt4eA6KzPSy/CNn6jnvUzvC70jw8eN8mtYmcKAJQ6cikAhteCx3Rcf0K pfiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774711955; x=1775316755; 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=7tLkrDKp1rDQd/OwKHebT9YezZMtfX3fZzYGkdR3Ujw=; b=abKRVxK0NSzT+y3zwDdzdxcHjEteUHJhzUc/x3TVMZeLwnWG6eLtoCb7qe3ClzBibj +BxDm+DAQJ8nuzwHMy8smJSccLdvN6PsY/6suekDLcFNLqMF9BLNBdYemT6hJcclT3HD E7XoPO0qTjjTmBkSyAIjNLt2SPue4rbIWNhhC5C+aysZhMgfRNKQxvHJrYftxfaiUDVR JCW3L6+e7e43r4XGjXD13sjNoTdoIAou60ZP+C4zE8YmFjtWefgh+5s0KlTNkXdjueiZ eQicgy1m2lyp6ApFjvLxV9O8q/v5owb3ZAxFMwkNz+U3uGbH9TV6hPPp8oS0SMJK4tOL ADZQ== X-Forwarded-Encrypted: i=1; AJvYcCWHFgFkDISm+FnbCzgyPvnGHN+kvO3T2STJBNgVEzhZuvbrV7IelnGsDZSaG9qY0LpToAoXMvgM2VBbDgOh@lists.postgresql.org X-Gm-Message-State: AOJu0YyhNa/SJOEXIr7F+64sbN3RK/i7XeF5AHdojF/RxCQg+AhaD/uJ IY1uu63Y45iPSkkixcRpk/dY7CE3h2nghIia5F0Fkn4SG8lxWD9denGotPB/fHFxM3arhMtWWOw cCro25EOFxB3lr7W/eOLOAwWADFPN4DkjVtdv8B7xoPMTmn7A+c4+lso7qJM= X-Gm-Gg: ATEYQzx4GEuCwlrZpjRyKOqak4Sgw5vRJpBu/Tz7DSYUOHfcXmQmWtUpKWeAW6jgaRp l25++IyXyDPhLiunQpuSidgsVxHNlDyahp8+B91umg5er9ANNfzz/Ufcd2Ih3xYPcUQEG7lReT7 bkVvEln4aCUO4UMAE7PsXyTcaGIMwKySCFD0TOVdkPz8J205pcXIHjorfUY82mo6uUJKybvJ26v UqdMDZgLRfUVAUgq+QaN7Sj7F7q29BzAEuXfoFdUhhi1U8Hgr2u4gT7lPi0XhMmhdTBsiHmWwtw exelYLtLX9ejw4U56GOaETKTth5mlf/ipRRWum73xUXBYRNq5+30aQZj7vLrFQBQdW5VjpfK X-Received: by 2002:a05:622a:4c8e:b0:509:14f0:bff2 with SMTP id d75a77b69052e-50bb27f62edmr12101291cf.12.1774711954850; Sat, 28 Mar 2026 08:32:34 -0700 (PDT) MIME-Version: 1.0 References: <69c7bad1.050a0220.346c9.c80cSMTPIN_ADDED_BROKEN@mx.google.com> In-Reply-To: <69c7bad1.050a0220.346c9.c80cSMTPIN_ADDED_BROKEN@mx.google.com> From: Hannu Krosing Date: Sat, 28 Mar 2026 16:32:23 +0100 X-Gm-Features: AQROBzBVhLaqEFQeN-NOeZ2adkJmcD4bzQbszVQzCI1CQ1G9G2zaGO-1r7FMx3k 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 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 items= . ---------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 wro= te: > > 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 think > 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