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 1w9pz1-001nvF-2w for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:51:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9pz0-00BhQk-1G for pgsql-hackers@arkaria.postgresql.org; Mon, 06 Apr 2026 19:51: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 1w9pz0-00BhQc-0J for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:51:38 +0000 Received: from mail-qv1-xf2d.google.com ([2607:f8b0:4864:20::f2d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9pyy-00000000uLP-2u70 for pgsql-hackers@lists.postgresql.org; Mon, 06 Apr 2026 19:51:37 +0000 Received: by mail-qv1-xf2d.google.com with SMTP id 6a1803df08f44-8a032383008so58457896d6.1 for ; Mon, 06 Apr 2026 12:51:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775505096; cv=none; d=google.com; s=arc-20240605; b=GxXs4ZV/6Fz10JhbGy9UJ5DvHGQF9cCi2HmyN5T35DdvRGSkfQPSVevL0pf0W6nBF8 HfKQ+h9In9Vpa5FWrChrOKYulO7UZ8ZylMJ2lt0JxUXMfEnFe+6319DDBHCQpcgWMumR wdquthoqn8+vbpOxPr+/JA9FFKY+b5jdQEo1qbPaEuIRDXF47ZtBJ95AhLsG/epa/14o adbRY1wLmpSOoVBcmrYHyRkCbWiZyLucuPc3Kn/W4QQqUZ8pTxCEtyYZKr/sHgwdjzDI y458lqyhgsljfVB/txOhQys8sWemUjFXVaDA37PFxRrgCNXSHs8/pWPN8kodMdUtePtO deNQ== 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=d1mevtgfyMMwE+PWhWHM9o1YDXDzKMstp0mgL9pDlO4=; fh=DFYleqwe0nxzs+xeBa1qNu2xIMk2l7fPQvquSrwcdqY=; b=JrIBBxbNyxqRUZkdvKYpTjSTG3/LKYwTCi/T6x1C0JP2qJVxbqbxw4n9JQ6ksKmcUW LlagLqKNVVqSv0OXjuKQws1M3WHUI3S1mAEI9SC+gHbSlU8qtCo91tuEbfxnbOPmBhBF MxtHu3mxhZsO+LxMvVnCRfxJcGjMvnIfNNLgJSVCYwIfGQbJgtmdvurNg6m3eUtP0j5E AmMqF1RzGL8G7l5mK1cll1dmMk72m3pqqIKZ3ry+31FJFlqMq71nIQw7gLfvKHpbtwA5 XfGOCpR27IjKCQW7y7SDEBgAzqpWx6vgHWYOzJVvAvXeqTQUvQt9eUJwbpXASllOwa9C BE9g==; 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=fittl.com; s=google; t=1775505096; x=1776109896; 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=d1mevtgfyMMwE+PWhWHM9o1YDXDzKMstp0mgL9pDlO4=; b=imF5no9gY4P5wFh5KwLAWr4n6H7q0E4DkLsCDOCVabUnKC2mevBu7xFp/DmHJMhJxM gf6tiR9+qmrVVwI2tzAvoiee7EpD2EQSElydKgqEzJZq8GWflIKYrRbI9XrnTIu7CvJW zKeGxqNOOi0O9Gnjh2kJ1OdeOqotyn9/nycDo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775505096; x=1776109896; 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=d1mevtgfyMMwE+PWhWHM9o1YDXDzKMstp0mgL9pDlO4=; b=TxeCO8UxqGsgJk2vqdrqP/clMGWQxme8fqZyf6AO5Xn/JO8tfPJNzbePHJyXrN7kZ1 9nt22uptg2hLWosgC9SUGNCH9w/5TE8xOKBhLSEBqdWhzE+aUDIHMl/jaTkyJa6n3oZA msxf+hQYGbrDqLDxsuZL04BGmrGYi6T6DGrghkTnWpo/j0iz4dOU5ncHBPZH/BafKmTa 0wMTJbXyWO8pbuyFhpl/FZ1MBj+w7hxxxSTmExiPxjWq2fGxjiElfTAji2MLUMGN49zM VXtvBwCzMMfyc/XehsQNUph5YdL0bYLwZ3oNkFNEgch3/pqJkZIfsPypZgeE5x7wbaOG w9TA== X-Forwarded-Encrypted: i=1; AJvYcCXS0HbvIhEUT09jpROkjbvQH8pbR1VpaQgwBSLVDdoW+FdLBFOwna/CExIEGI/1uWl/85WBaAjB4O5rU9Ch@lists.postgresql.org X-Gm-Message-State: AOJu0YwlN/2tAf2fizJxbMIG8QfWixf8yQQur4At8EFiOVAmP7oH0uaG AspN14beNY4Ln9/9pQB42DICWSF07TrhsliHGsL8xy0EC7Yw1m0wxgCK4MP2kvIn7q1BGySyzOD zBvKDs4lucGHbzYoFoUMwFW55B4vQn3yHQ7DHkN2S X-Gm-Gg: AeBDievkPyMZi5N0Xzu7o0p4FU51toUwv5YQy+0RG4bfXduSQAW0LK6Nw2H+WN3Dj8w mY3xAD2NFg2VrKroeYtuiSBIMI+KGwin8KEDi5nhDCheh+jPhivqj0EaOkdH64w/zAn7tjiGBHV 0+x/aYSZFXDhdSJkAtFTxdmadEq2v9FRVSEMOenKJ3Pn71lbq8/gEVEsiozLJHhU+iS1Y7zWiZA AtBDxrkBZqDC4/4bZXNyjepn9wFnnLRDKH/4XLHADDFLwMvMatmKIPPxskz5dU3IzE6BW3Bd9iE wZ+2CXsQ4e2jFLfBeir8NGsZXROQKaaHZsLLcb+2 X-Received: by 2002:a05:6214:b61:b0:8a6:15e2:9a8c with SMTP id 6a1803df08f44-8a6ff3c4f4bmr227571826d6.0.1775505095854; Mon, 06 Apr 2026 12:51:35 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Lukas Fittl Date: Mon, 6 Apr 2026 12:50:59 -0700 X-Gm-Features: AQROBzA2tYdzSBmlRMbCPW2clh7KcOW5yeqFlx_1rbv7SiLHLtb3XNlHvAKjCwg Message-ID: Subject: Re: Add custom EXPLAIN options support to auto_explain To: Matheus Alcantara Cc: Robert Haas , 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 12:27=E2=80=AFPM Matheus Alcantara 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]) > > That said, I think we should proceed with 0003 as-is and revisit this > when real-world usage reveals such problems in practice. Agreed, I think we can lean on providers to do their part to make sure this works. FWIW, the main database-as-a-service provider I'm aware of that has a drop down for shared_preload_libraries today is Azure, and they do use alphabetic ordering in the UI. However I just checked, and the actual shared_preload_libraries value is not alphabetic (e.g. they put pg_cron first), so they just need to get the memo to handle this correctly. FWIW, AWS allows specifying the list in the same way postgresql.conf allows, and GCP has their own "cloudsql.enable_" flags mechanism, which presumably can also be taught to do the right thing. Thanks, Lukas -- Lukas Fittl