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.94.2) (envelope-from ) id 1tvOzs-004NVe-3M for pgsql-committers@arkaria.postgresql.org; Thu, 20 Mar 2025 23:08:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tvOys-00B3My-P8 for pgsql-committers@arkaria.postgresql.org; Thu, 20 Mar 2025 23:07:18 +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.94.2) (envelope-from ) id 1tvOys-00B3Mq-I8 for pgsql-committers@lists.postgresql.org; Thu, 20 Mar 2025 23:07:18 +0000 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tvOyq-000DOg-0k for pgsql-committers@lists.postgresql.org; Thu, 20 Mar 2025 23:07:17 +0000 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-5499bd3084aso1306281e87.0 for ; Thu, 20 Mar 2025 16:07:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742512034; x=1743116834; 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=LPbFq3fB6iqnYCDmXu37naGZ9xIeiBqcwDkN4ReyItQ=; b=aFpCz6rgH3jPGvyEVUkce8unp/0Mbbio8BkrhkV/Oj1or9qoQ1xQfK7JbzaQv8u5Lw KbUZK9fUv5BTnY4s1Ca7kjzc1yxpyjuPu1bNO26bAo+GRCbcQkyPk5sK+hywT9JL/pkG AmoMyeMCTRPsVuEOCZgdUy9LweZ0ULHXwDMi639ZuMErzSPBM5kUxvIujaAS4tcikxSg ykbou0arnC40S7NUjOViG5QVE89m+SXBUAUquB+GlWEvYknTEOKzOUpO/qrmxJlnvSQM DthgRxDdwbA9+uFzpyZ0u3bJmEUOv3zIrjYOHPQtxIWygOHrGMwQOxeB2n6p/QdSeCt0 BjpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742512034; x=1743116834; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=LPbFq3fB6iqnYCDmXu37naGZ9xIeiBqcwDkN4ReyItQ=; b=hssoBPBHywbDbuAmEa7rk5jYAmpXEeGzZj+jL87/NsTCYawgUGRGQSUhZP5mF8pYFl BJtdfD09wPg+cx7SRqqz87RBiCG0y6R8PCNcQa9hKDODPks7eb21joIF+MP5ScQSwOVP RzrI1dq0bW0iwz9CHN5KWxQJK9gjpA9nDMCE+m6OEwQCPlxxp5tWnn48FHJ5xpXZUA9F nhLh6eOI06i0olRMffp4Z899gSB0h4cKfinDSXU4VX50lfiVdZhwJOv0UwjYzJ04t21t OEgSsqPEI23sXxikZEUpard1p/lNzOeYg0+ERh+z72qARRiX5TXAZY05ISOOxu0j8PCB z1NQ== X-Forwarded-Encrypted: i=1; AJvYcCV+xAa6GwG3ZeBWxpA5grSqmsodUnsgec6v+6rl+ADHaDb5NyrMeBI6ZkUoNI9hsZqNgCQXTgbZZwtv3WnjACwI@lists.postgresql.org X-Gm-Message-State: AOJu0YyOS2gGvX1P5W9L3VMOa8oHYiJ6R2LzIkpGgeJx3BOyWL1AuDLW Tt/CTiKVFw9gw3C0F8euDUqgLW9k7S8BTlJR/cXXR4bh8VAzz15tfK6oEhsoFL+OGpNZANvvhII AySNSpuE8SNrIHN6DerwK7E0zbEhs0tQW X-Gm-Gg: ASbGncsHysltESwJEh1kB4Ru0wdQLP6A1p/J2vqiJs2/DfBH3XuIpu0sW0z7LjS2cIy l97iq9SAzZDIgxBy++pkUXG78Pw2rZOEnS9MtIfKEmA4DEokuwTASDIciyyZKr2/AuyCRg/1DWL 8tpt7tIyozq0OJopBAjCM6POOHBL7SmKXfy4zIGjCOW6qeXtewK1wAdm+WqAbe X-Google-Smtp-Source: AGHT+IGxjbnapY6OGhU+9YSudTrhq1Ajky4cY1849EoDeAAFFClRxZ53wG/kGZV6MFLn1JVhoE7Kv9c1b0T65GvspmU= X-Received: by 2002:a05:6512:3b22:b0:549:8fd0:bad8 with SMTP id 2adb3069b0e04-54ad648086dmr342608e87.21.1742512033246; Thu, 20 Mar 2025 16:07:13 -0700 (PDT) MIME-Version: 1.0 References: <993142.1742484654@sss.pgh.pa.us> In-Reply-To: <993142.1742484654@sss.pgh.pa.us> From: David Rowley Date: Fri, 21 Mar 2025 12:07:00 +1300 X-Gm-Features: AQ5f1JoeB97lI_NA7MESC0PTVY79GCCVf1FUuVPqfGS8R8DOz-heQaqJ9yYF0Bw Message-ID: Subject: Re: pgsql: Add vacuum_truncate configuration parameter. To: Tom Lane Cc: Nathan Bossart , pgsql-committers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, 21 Mar 2025 at 04:30, Tom Lane wrote: > > Nathan Bossart writes: > > Since there's presently no way to determine whether a Boolean > > storage parameter is explicitly set or has just picked up the > > default value, this commit also introduces an isset_offset member > > to relopt_parse_elt. > > Uh, what? Why is it a good idea to distinguish those states? > Seems like that risks some very surprising behavior, ie if the > default is "true", why shouldn't that act exactly like an > explicit setting of "true"? I was thinking about this yesterday as the topic of a user-configurable options for truncation threshold came up in [1]. I find it a bit annoying the boolean vacuum_truncate reloption was added (a few years ago) as we could have instead added a more flexible truncate_scale_factor that could be set to -1 to disable truncation. Maybe it's too late now as reloptions are not easy to remove. Adding this GUC now does put us a bit further down the path of the boolean option.