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 1w9q5N-001o1q-08 for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:58:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9q5L-00Bo0x-0x for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:58:11 +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 1w9q5L-00Bo0P-03 for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:58:11 +0000 Received: from mail-dy1-x1329.google.com ([2607:f8b0:4864:20::1329]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9q5E-00000000uPJ-3Tzt for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:58:10 +0000 Received: by mail-dy1-x1329.google.com with SMTP id 5a478bee46e88-2cc4c693d59so7427729eec.1 for ; Mon, 06 Apr 2026 12:58:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775505484; x=1776110284; darn=lists.postgresql.org; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=VOgMiLZFMS08UwfUqMVeM9xKKQmG/IzujyYtuJRHh9g=; b=Zn2nfmRotrUE5A65wAgwMmdImMasKg/Lnu6N0q1Uk23tS91SHreDpcw9uSKbVFZI16 cCuha0gG/2mGjlZ/N1QkM0Van534dpq5gYbMzl89JY0VolGRk4Gw/eAWv3xjsovk6ohW O+/VCyqCLRnuBBRgl0fk0GH/jEDoz1SGW9i4eDG8W81d+IBAlHKBfGMD0Bv15yABIKJB cf1Nc0zXZNfy6w4WVoVfQiiQbuIxdHy4iBUSi4wmdPvMlm4fq0bfgvWsZ2qgNwAPnnig UEwTCyB5nbyu9xUBMCFyPM3jbajbCnwl2UJizrkp9bN+CzqpO4Xz5BGfUY3SrPFL9rW2 n6FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775505484; x=1776110284; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=VOgMiLZFMS08UwfUqMVeM9xKKQmG/IzujyYtuJRHh9g=; b=qvdr9QbcutpM0abKBHag9aKYrp0RhL+wic3PbucCKOfGiXO0OQLDHbprjcTYkL1kFT CRjotVTKoLvrxe+fxiLRg4GfKPXEOGPySJ4bDAP6mthW2HO27XRGqo1W1bOeY1w5jgsu EcsNQuv10X3A1IQdo6KEG1izysycg4Owd02N+uyCt70hNG+ZS4UPP9wen4P5VKNNVECv 7IsA0ZybXQ919btN+M6TLQb67hK6wTkxEUmSuqi+sRmRTZlleRVW/Anrm7osIcEsiCyp z/6N0+LvEoPp1sKqreDaCthlC/otOapBzrXOHvY0Z4HQ+8GnT60plu8c1qyAazRQztfC 1zmQ== X-Forwarded-Encrypted: i=1; AJvYcCVhzyyQfMBFl5+rd0CcF93x5vmqWinnwr7kf7qlLCXv+XQAKTY2Vd0vMbWHmavzLLlO/BuWnx023s8Euavo@lists.postgresql.org X-Gm-Message-State: AOJu0YzPandAxtU0DuNp0wvRHOACnJfk66svRVEGWp/Y0Xz7jaVTGZaF R7nMEySfq+YDzURjptklMAbaycmfHdXW6YCUksTB+h975aHsq1lv/Q/A X-Gm-Gg: AeBDies780PxOXZp4LSYti2VMu4HC0P/8Lfz+YcBXuhKcpchpLYLLH3isMuVDlk8u2W ulVbTf7xrZ31HDiXhyJdFqgSbonjdEOwscAwFYUkvel1RPROw5AyhLDwgPc7u9Mcg9LML/XNArH 3/8MjnBCkbPB76hsOSqTxSbrRA3u+BYxEUCBqPJ5Y+AwzKToILYYc2zl6yQ/7I+/XO8gr0+Sv+X pIlLPLomNXfUK+Ok1pc6oZqt129dIxZXvHPs4kmO2gxiggcXy2FKF2/Uzo983eJSTxrdXiIBCo4 yZ+sy4w/uittFt9yJm7AqkbIRGyOzwZjh4bL9Z7BmlaPTgJWscVwki0S9iDVUaBItnSGK+BXpOP mZHucJVt56YxLLneTLZLtKN35qzPhWnoy/Za3xrYd6Q9AQeOot+dMBdszOGmEpHslmO+qJl/23b szyTWPf7QkIgc34uks82S9sGY+q0pFP8aNAnsp1KAcyz8IH9uEV9IA1ajN X-Received: by 2002:a05:7300:8c04:b0:2c1:7b61:8731 with SMTP id 5a478bee46e88-2cbf9fe1cb7mr7746669eec.10.1775505484043; Mon, 06 Apr 2026 12:58:04 -0700 (PDT) Received: from localhost ([2804:14d:328a:a59c:2593:23d3:4374:36cc]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2ca7c3010e9sm18046849eec.14.2026.04.06.12.58.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Apr 2026 12:58:03 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 06 Apr 2026 16:58:01 -0300 Message-Id: Cc: "Lukas Fittl" , , "Tom Lane" Subject: Re: Add custom EXPLAIN options support to auto_explain From: "Matheus Alcantara" To: "Robert Haas" X-Mailer: aerc 0.21.0 References: In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon Apr 6, 2026 at 4:35 PM -03, Robert Haas wrote: >> 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. I was saying something like post_guc_init_hook() that is called after all GUC variables are initialized. For example, the check_log_extension_options() will only check if the syntax is correct and later the post_guc_init_hook() (via auto_explain) will be responsible= =20 to check that the options are valid or not. I didn't check the code in detail to see if this make any sense or not, but if it make I don't think that will be easy either because we call InitializeGUCOptions() very early than process_shared_preload_libraries(). Anyway this was something that I thought during the discussion. -- Matheus Alcantara EDB: https://www.enterprisedb.com