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 1wT0dO-000Fs1-34 for pgsql-hackers@arkaria.postgresql.org; Fri, 29 May 2026 17:04:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wT0dN-003g1T-1N for pgsql-hackers@arkaria.postgresql.org; Fri, 29 May 2026 17:04:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wT0dN-003g1K-0R for pgsql-hackers@lists.postgresql.org; Fri, 29 May 2026 17:04:33 +0000 Received: from mail-qv1-xf31.google.com ([2607:f8b0:4864:20::f31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wT0dK-00000000AvD-2i2L for pgsql-hackers@postgresql.org; Fri, 29 May 2026 17:04:32 +0000 Received: by mail-qv1-xf31.google.com with SMTP id 6a1803df08f44-8b3d6b215cfso230800366d6.3 for ; Fri, 29 May 2026 10:04:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780074267; cv=none; d=google.com; s=arc-20240605; b=jA7GEQDj6BvA6u/RZEA+l/qtj1Xx5rmYPMoTcMltsc5fKVXWZmBBd0t3WLxU52ZzG7 7WWYS5tenNJVxGHEknG2dytEbC4Tkx37MYAJhJl+EWZOLw2sOwRkV75PbDgQ8GLn2t60 Pm+CQ64B5BgsNalph2l7vRD1NeUJebcC+vQV6vY3BDQwpWUr8V0HKtZvMSc6G/XUh+EH l9l/IMAqZ6nzElIsd8/+C0V6xWIsjIn/O866VELEaUb1VHFat9ZQYcbpsrW6pdUibmqN kIgnAjruXPHnDUegfJEA5E0GBzRsyPWWCQRkth2DmWcNPA7M1eUOz+FfOFienkHcNXgJ QXYg== 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=yYAEMeGN6PPtkidkvLuhnUrWlKJY43+1+Lfrm2BmIm8=; fh=GB7TmI7M6Y28qT2ZDqtrTWnAHNonaFJx+hcppf1fpwA=; b=DlsE0Jhq6GIqj9VoUP1ZcKtDGNds8XYnAkCBaZw6LVYQOgS6QLh/OfJWFdjjQfNrS4 vtpT2u28u54Z391tFol4Wfm9kk1mjVSW97CZt1pZVMi9LT4IGVLiWgqTpufgAzH/oNY/ C40fSbT+BVl6Gvdrp2aiR79g5XDjVBWdvA+USHeSL6nK0n2cG8sb3b99PsBedLyH02Am WcoCfjpt+AX3hEsWilPGPUFM6ZFsihszDxPho4g17ZzeFrMWG32ozMPa2eVAqkKWG0+r tVEhg+U9liwmvH+l8EVEscyq24Nt7XZV9c0bgkRDyGNgglEnlwVaBnbxpsKw/xlb6jns j+/g==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1780074267; x=1780679067; darn=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=yYAEMeGN6PPtkidkvLuhnUrWlKJY43+1+Lfrm2BmIm8=; b=Au0Tud6wSd+Jo8k5SswgHywcPLoVCyIe9+lQqDCFqtYsxq7/6Op2h9O5Ajb46Qh5Mo 4A95fygavztcZqomc9PCEjnhyMeHM4ONYrGx7x5asHvrNKbXQpWowILQtG5ivDP/epVL T7e6WDkkp+tqMIUNnqkUuYihIIvwihnyyowvzjvzG1YGIuFI9aIyr4Lp0Pghgy+bTa/Z eXBcaYnOaYUHYEnPy6Zv/AphlmzZxxydpBJ3AZgxKIA1l8zbnF7CfjEKJSC40/kBGsUd 4bUo2LzpKaq2TuzsTO+QfP1fwFdH38+U4M1TrWsFPfF+rKi+rhZmP7iWRSqTrybH/YWW KuRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780074267; x=1780679067; 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=yYAEMeGN6PPtkidkvLuhnUrWlKJY43+1+Lfrm2BmIm8=; b=c9AMt2BkZDLYI6H52geXwuwRXykaDB/G/lCzosCjLAecQ/3Ou5Zf1THt6h1z8PLURD NVmZ+HLvNv0Z6p+vfwb55HtkcdzRCDVf56dnZzlHvEseou9ig1iWsv3/qQtHQIUjAf9i +NM8THRUcYUEw0DP9tl3uzs0j1kceHrWyCrCmrIxUBEZ7KVlFQDgnVen28SZqacR0nB/ Jae+o1UkVB1VGwNm7aKmzTcKfGzXh/JEUc2H71jwSrfsV/dc2G+umJ0yPDuLwCoOYiAm F5sjr3oOJmNQgscZId7++dAwxfzCIuZiUngCXx8TI3hQ9v4RF/geFNm4rWmqjfjCVRFE 8DKw== X-Gm-Message-State: AOJu0Yw1rlHzPX57G/hjj1HFx8huSztDGo+TKOMevt9inHr+ObOAQTWO FdfshPi65AqwDNN+ApsWhAvpTLDE4kfAnEJ4eODccdbj+z3HtvCRZmXbuClsfR5/RHPatQmfB8G R27YweM7sBoTaOZPrkONhPENuPV9tZ5+5Fk9IDKPt X-Gm-Gg: Acq92OFKBqCizWcN/eO40JJymIoY0x2MAmDETXKUU10lpyr1FEGMiwN0K3+NkntvOzb Rn1zK77xH0YNOTLgcUFVqseoH337R+OZUQ4O5be/S2gb/t8hxk616HYQCklN0priD7v+6ajRMxa DmtBsMMIrUjglM/TRNELO21NpLuEqi45eWlOWeu8oRZh4HGqPSwtJBU5pnM5mAIoM+1Vc9RWyuF iBQhdIAFFH1wCMhFDagVZoTFb3mQQI7Pq4sCJtrMyfI/q/lHaO/c1PX4ssggGbDecUfj0/wpSdX dXOUbwbcKm36VrSNMEJe X-Received: by 2002:a05:6214:23cd:b0:8b7:7594:b37c with SMTP id 6a1803df08f44-8ccefd5bf04mr8587486d6.17.1780074267416; Fri, 29 May 2026 10:04:27 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Fri, 29 May 2026 10:04:16 -0700 X-Gm-Features: AVHnY4LPbnQmxf-Fei9Cb37ubfAyA0wB06xotS3zG8leivcowItkOV49rHz0a_I Message-ID: Subject: Re: future of PQfn() To: Nathan Bossart Cc: pgsql-hackers@postgresql.org 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 Fri, May 29, 2026 at 9:42=E2=80=AFAM Nathan Bossart wrote: > Along these lines, I did consider "pinning" statements or even having > "built-in" ones for libpq. I didn't like the "pinning" idea because that > seemed problematic for connection poolers. Right -- whether a general context, or multiplexed streams, or explicit pins, proxies would have to be intimately aware of them. They can then layer their own on top, or make sure different client requests don't conflict, or release them on client disconnection... > And the "built-in" idea seemed > too libpq-centric for what I'd argue is a general problem. The other ide= as > involved guessing at what's happening based on the queries or somehow > trying to handle failures due to missing/wrong prepared statements, none = of > which felt viable. Agreed. (Although, for that last point, I wondered whether we could make this idempotent somehow. I think the answer is "not worth it".) --Jacob