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 1w9pjB-001ngW-1w for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:35:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9pjA-00BZZA-0K for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:35:16 +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 1w9pj9-00BZZ2-2f for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:35:16 +0000 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9pj8-00000000uD4-1mcY for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:35:15 +0000 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-b932fe2e1a7so565731966b.1 for ; Mon, 06 Apr 2026 12:35:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775504113; cv=none; d=google.com; s=arc-20240605; b=RmyffCAsBp9qH53y+2o6AKiBBuG+fUWPwOn6ijKWeQRh7YB4K1N+E8TEaER788Y+sQ lpaq3WuxPqPLu7PMcBtvb+Q0KAemWgwQ2m5muNSRAIB/c/8PRbKvglaDdBeP4ZBVUiAR AtzajnnU8s7FPnIyyreliL/HqIyE8jc1cMQYBkUHPwu4mjtCKRjD/8uAL2zeredloJTK JPaEkG/sjMJs+AbayqpIL0Iyt0KMzvAtcCIzJ5RxS1XEkT+JEF+TOtaxTd8rCJOyFAWx JUz/1QG+hjz/4qcbKqA9WoOvzW37y48DO57L1oSDKNCiwf61sAhl75LuJxeWQKAcAl4k gNog== 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=vcYbTE6CxX2WIyZtmhMZ9hOLU0cZLijMs3FseX0WpPA=; fh=JpmBZYtFlIuk4mr6xSz2D4b/GpO2ALBKe1QI/stzeLQ=; b=JQhQiAg/ZjK5ycJanXmTeonJcfJdmD70m5YiNa/3Cp9t3vIrnXfF4lM8TwhH5VNjPJ l9+zBuir/oqdMUav32E0avY9lmefaWw8T/5/+DxNAUf/v2w3sTN4XN8i1hDHc/7Qr2U8 +CLaR1xCHodXu7wWRZ4M4XIfTWYzORvydNzoopFczDqS97wA2HpFYDCdq5RdyVbzcceQ GyAkS8CF4a+81eyDEtIvzetC8frgS5eT6swcdeC5BKvA5OrAbrDph2XN6oeejJPhGWBR 1pajU9Tmh4Uqh6fP0mz9hDY4hFKvfb5vxkcD57zeoYsV40mGDLL4BIde6LZHAKPyNyk5 ASfg==; 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=1775504113; x=1776108913; 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=vcYbTE6CxX2WIyZtmhMZ9hOLU0cZLijMs3FseX0WpPA=; b=TPsUy11fKny/hObwLVPmZFGMZYv0nyj64bTorr+r+LkC6avKmmMntCxqSyDRNunK5i qMBwn9aVP+ofGR9nPpts7LbNYVP4ivk2H/yaNqOKlm8llWm6RTUXrw3oeLM+92OSud51 UFeO4V1tB05ewIVz37ikADDD19QWm41DmSCv4L3J1tFJ3XVZs7VM+QITdnnfLslF6yPd 05cJsCtybaj8ZFdXrIOfy9WaZiKB6ocBlMrF7hDOxBvhOggqVoyzwi59xGPzmSS20dGy W0BqTcrdbOlKbRZUPWiQ0X9sutGOn601adBOk8XYJS1IGEq+M/yRPm8PCc7SRpEeHXwB UXRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775504113; x=1776108913; 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=vcYbTE6CxX2WIyZtmhMZ9hOLU0cZLijMs3FseX0WpPA=; b=s4WzkqSj6m5uSeY9+zYxJts8++fOGONTs67LitJCsjO04+iIJs1oATed4M9ov6GPpG Qa53BGQghDmUX9RoMGPopMjBY6jVoYr4d693fUKhFPHYeZNVdWtLAH0kaS6CFJtSJ1a+ Yn/1dNHpvUWn4kcbyRQCN6dcHe7TkPIk4/qnTgl2tK1zIekxLQ/z7Vhj8K94Q721ChBf 34+k1z+Yijo/6dmMm8Es4nBzzQcwDE+fOy/9jPUrfN9G6mbLjzAq9LaWwKZ0IDa4DM+n gg7r4vesicxJw/+55uAKKV2jpKC5J2fEFESJgwiBSG2REKr2SjQ++p2KlmA9Bd5KKcJA oK0Q== X-Forwarded-Encrypted: i=1; AJvYcCVLfH6xfWe2bbqcsxQqamD0pDseImfA7W7wgl0xYdhuLQsOhIIbIpppZH0s9H8N/jNlPKV5VclQILPTyX+t@lists.postgresql.org X-Gm-Message-State: AOJu0YwQKYD1Ug2Uix6GbxKQ+cVxMzYiE0rfcjIWGPooKz1x2F17AwBa ospUBbyI+icOFw0TaAmKeKKgZUFFp2xHrptOHfBVXkgKtrl2wahh7Qh1kbq55jTXXx238GQuzhu Hg1OLsWZzVqOG8UHsapY53gL2MAo/ugRQzg== X-Gm-Gg: AeBDietcdluEUnwu9qJH4c6sYJc2KwiWOtJT5h7J9ZG6buFd4qEIgSk19j5Q0V/QyDV VmVtZOYFm5hwXeV4j1QBWIgYPrbpQzytNAq6uDu3FAFiU26115DoAqV/2ST9wSiuVGVM3ISCxPX UrmZiqvyD2ZSKw8orJ5Eofhn4Hw9HX3O/0VnGIuoKIAnIM/EI31j/a6qozjoBtp2y8Pc3lZSVaG ewyAnTzHyvNUDfmkSxDMqs00vMoahyEMHrefY3Q3H4LRBYtOoqZb+bZS4difuy8vwewPpC9AJ8L KNJHltGYyHeup5rR5ovGRK3y3hGhKPaI9zwXqi0= X-Received: by 2002:a17:907:a4a:b0:b9c:451b:2348 with SMTP id a640c23a62f3a-b9c672e4cd2mr615003366b.6.1775504112696; Mon, 06 Apr 2026 12:35:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Haas Date: Mon, 6 Apr 2026 15:35:00 -0400 X-Gm-Features: AQROBzCTjPwcSGxm2_Z7zaedpXJ_8BsigOhQkhNiPDhb4jORFoOEv7gV0UbKveU Message-ID: Subject: Re: Add custom EXPLAIN options support to auto_explain To: Matheus Alcantara Cc: Lukas Fittl , pgsql-hackers@lists.postgresql.org, Tom Lane 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 Mon, Apr 6, 2026 at 3:27=E2=80=AFPM Matheus Alcantara wrote: > I did another review of 0003 (0001 and 0002 are now committed), focusing > on auto_explain_split_options(). I didn't find any issues. The code > coverage looks good - auto_explain_split_options() has nearly 100% > coverage and the new code paths are well exercised by the tests. Thanks. I just committed it. > My concern is about that some cloud providers expose > shared_preload_libraries as a dropdown without user control over > ordering. I can be totally wrong, but it seems to me that in this case, > the provider would need to handle dependencies appropriately or have a > way to let the user define the ordering. Or, a possible improvement > would be a post-configuration validation hook that runs after all > shared_preload_libraries are loaded, allowing deferred validation of > cross-extension dependencies like these EXPLAIN options (I'm wondering > that we can have more extension dependencies in the future, e.g > plan_advice and pg_stat_statements [1]) I think this probably collides rather badly with the GUC machinery: GUC validation can be deferred "a little bit," but the GUC system itself decides on the timing of validation, and there's no way for the GUC's check hook to say "please come back later". I suspect that property of the GUC system is too deeply embedded for us to think about changing it. > That said, I think we should proceed with 0003 as-is and revisit this > when real-world usage reveals such problems in practice. Yeah, it's frustrating to not be able to do something better than this for this release, but the great news is that there will very likely be another release next year. :-) --=20 Robert Haas EDB: http://www.enterprisedb.com