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 1vg891-008YvS-1L for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Jan 2026 21:11:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vg890-00CnLh-0S for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Jan 2026 21:11:10 +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 1vg88z-00CnLZ-2j for pgsql-hackers@lists.postgresql.org; Wed, 14 Jan 2026 21:11:10 +0000 Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vg88x-000RtY-2F for pgsql-hackers@lists.postgresql.org; Wed, 14 Jan 2026 21:11:09 +0000 Received: by mail-lj1-x233.google.com with SMTP id 38308e7fff4ca-383010b77b8so1417481fa.1 for ; Wed, 14 Jan 2026 13:11:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768425067; x=1769029867; 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=5mWFwcYnPPkYGLiiOmhvyLraU6Q7ZmzOhPmv8Zi0qW4=; b=l5qpC822Z9ebISwrErW8u/34UAXA2EXuraBzq+zYHRkeqPmckyfdGsWkcX6jHqdMzW tW50cEMGlZB1suFW7SY2DR/sQ16j+fDRAkIc0E15IldhJspQeoFbX1BrkjiDvAOZg9jb ia0fOPLNDx8HXZ4qphsEv7lNYWI+zscgHVoW2gQZZqHHzRJkSszl9rE8i9ZFriZU33/X RwQLFi+ekreAaTgUBMrQqdPb/9oam0KcE+FfHzq5ZQtLS69pOjRyH3O3X1qbczb3Hm/s qwAxFq7hvQAhQmzMV1q3ARlsnZNVIYuDos9E9fVrAbmb4OC5XCy3r0T4UK1HZGqjtpTJ Iiiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768425067; x=1769029867; 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=5mWFwcYnPPkYGLiiOmhvyLraU6Q7ZmzOhPmv8Zi0qW4=; b=U6muPcwZENmV3mevsJAikcfeWN0BVp5Vyb+tiG+253soqLbtMf90qBJq/5wO3M6BXo BY3g+IKnj08J+POEaLGmOmAOcPwnZNa/8dRd6+aBpt6i2W/JUnlrPYP8FiqPxos/GkDJ d5H7LSRp/mZJEYAq+PdK/JMQl98ZlQnTIPLJdbnCAKzbzf2SeA3KO0k7dtNt98X0yO5R xnHA9wUxEbnLsjsRNd9SQWL+C3OlcjEhS7Moa02my81kpgkKuOxnzX9/BKasGGRW9aH5 2EIIjBOWW/iftYvmUL7bXDcK2WDUg4DG6fM4wT8om1FeuNCTuCAST3m21r5njkFVhV08 rCng== X-Forwarded-Encrypted: i=1; AJvYcCUhPnHpu+CUcsBWP5QzpFrsa4r4DOZSL9ur3bQ3vv8BRZeEOob38uSYMBVPzKLtcwY7+ZtP9sGf3VUr2fuA@lists.postgresql.org X-Gm-Message-State: AOJu0YyBHkU3wOI52NAFLaDjmKtJq1e85irOmjd7pJ7L61Gt3ZQpocgf WW9l7B826VWpUbSM2zGwsEtSZBhh+wBobZ6xcwzTlU7/GmqnG568Dl880MbTZcaTeEKJdIlKwzz 2TzvQv2/OcrNUTyuFe+oIioepU8sOhzQ= X-Gm-Gg: AY/fxX6Mee/zY8URHO3N6y9erIjDc/OEShQu3B9Alfb1v/b0roLU49u2kGfMc5gMqr5 7w4ORrsLNaypWkDyllqAmVb2lGuTiDplk0SKUkclBm6ZwN/0RvQxHHdN2iuTAkifODjs6J1eAn4 oTDH5SOCDv2mv9JYk9Dk6cjwCcQCH1uUQC4faRzX3DBs7b1uc28iMcYDlY13DUMdUnweqMee3q6 0lxzXQ/ky0oNmyjs3ObjIul6FkbgVG0QId8QfuteB1/iSw4NqxfPlm0N87bQL6ozBEa/6Cw5RVS b2RMVc61fikrxeiODxr6pMzyROoPJLO8y9xThZ++z8X1lm/4kDl1Goupz8oCyA== X-Received: by 2002:a2e:7309:0:b0:383:145:b09a with SMTP id 38308e7fff4ca-3836f0caa05mr2003631fa.19.1768425066537; Wed, 14 Jan 2026 13:11:06 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: David Rowley Date: Thu, 15 Jan 2026 10:10:55 +1300 X-Gm-Features: AZwV_Qh3o83ih7GWxcLhw9hENXnLSZgUSZqAeAN-cDdLpE75z_afCytKCSU19Rg Message-ID: Subject: Re: Patch: dumping tables data in multiple chunks in pg_dump To: Hannu Krosing Cc: 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 On Wed, 14 Jan 2026 at 23:52, Hannu Krosing wrote: > > On Tue, Jan 13, 2026 at 3:27=E2=80=AFAM David Rowley wrote: > > On testing Citus's columnar AM, I get: > > postgres=3D# select * from t where ctid between '(0,1)' and '(10,0)'; > > ERROR: UPDATE and CTID scans not supported for ColumnarScan > > Should we just silently not chunk tables that have some storage > architecture that does not have tids, or should pg_dump just error out > in thiscase ? I think you should just document that it only applies to heap tables. I don't think erroring out is useful to anyone, especially if the error only arrives after pg_dump has been running for several hours or even days. > > 4. I think using "int" here is a future complaint waiting to happen. > > > > + if (!option_parse_int(optarg, "--huge-table-chunk-pages", 1, INT32_MA= X, > > + &dopt.huge_table_chunk_pages)) > > > > I bet we'll eventually see a complaint that someone can't make the > > segment size larger than 16TB. I think option_parse_uint32() might be > > called for. > > There can be no more than 2 * INT2_MAX pages anyway. > I thought half of the max possible size should be enough. > Do you really think that somebody would want that ? IMO, if the option can't represent the full range of BlockNumber, then that's a bug. I see pg_resetwal has recently invented strtouint32_strict for this. It might be a good idea to refactor that and put it into option_utils.c rather than having each client app have to invent their own method. David