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 1veH6W-00BEG4-1s for pgsql-hackers@arkaria.postgresql.org; Fri, 09 Jan 2026 18:20:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1veH6V-008Pmw-11 for pgsql-hackers@arkaria.postgresql.org; Fri, 09 Jan 2026 18:20:56 +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 1veH6U-008Pmm-2s for pgsql-hackers@lists.postgresql.org; Fri, 09 Jan 2026 18:20:55 +0000 Received: from mail-oo1-xc2b.google.com ([2607:f8b0:4864:20::c2b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1veH6T-005Waz-18 for pgsql-hackers@lists.postgresql.org; Fri, 09 Jan 2026 18:20:55 +0000 Received: by mail-oo1-xc2b.google.com with SMTP id 006d021491bc7-65f67f56b81so378099eaf.0 for ; Fri, 09 Jan 2026 10:20:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767982850; x=1768587650; 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=tdjruPSGVKgPeHG0Wgd05ktVIhPn/ncxqBAHJhZCHK0=; b=ADBHZKZ5jqg71cU1UaQ/7oV3xqJy8Amxu4T5UqpgdDdKnOmC2Yzncu4Mc7P0SNFuB/ 8GXL5wy/OGenfxbJRbayujcCu4gorJ2PvUwslHOXOTRVcC3D4ibniRSP7TTOysD7ClI/ aRO0rp4M87aP3uNcqG5p4EBdI4wJpCKX/8FK+h0sj4Lu8c1QtsYd3H0opQadXhQF6TuF g02sWAxERrhDjvzR92Qky4YLBMo1FaOE3+rUde+rj/H+oXdpRIdoG+OLy48+jnKbyIZj pswko3tCGYyFg3FLPmPFflqT3VGWym77dYAPfZnT6BipUWsf3E91kBP9sWinAVEMpwGK 7O5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767982850; x=1768587650; h=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=tdjruPSGVKgPeHG0Wgd05ktVIhPn/ncxqBAHJhZCHK0=; b=Pc8M8qfyyaXpUVY/YbdJd2oLE0BBPxB4JHLTsz99wpY8bn6OGR2yJNPtefCooMYsfu jceAQEY2nMaFicL75DCaHVx71bXg/exBTi33VebVUjBu2SY7zLQkAsggbif6cZ+Yk3zq FGaYkYDSa3QWHadFfS6rE8TObrPyMw94C1PmLQz8AgS0wt6RCRH8Z4eljejupqUb3xvt JlpznTN/uiTt4byF9ht/uyntopP7aPlsmFFAQH5Q+vatpPFRtlm1FCb+iQpDjgg0H3ZT AGCMII8/1xa6PkBkqW3EWe/WWRp41kOF0f5jCGiVZswVr2XtPb3ycx4HJi7WQswLaHSz IlPw== X-Forwarded-Encrypted: i=1; AJvYcCUfHgTez4wtSa7NCDwYlyIOUC8ftoyVfnoPe8a0XmltDD6dmyRll71ZKL/MkEb+4Md+GXbJ3v/XL0iFZoJb@lists.postgresql.org X-Gm-Message-State: AOJu0YyjLd9iM8OUV+jl1mqA1Da3INEgUXPj8rWAD+d/WdBZ20BbZTP0 HDnZ/OXIZ89X46fN9kU5GH4ZpSBtL9o3V7rrbLstrpzEvijGpVnSnZ4hkGIxO2RO0Iy/giF199A qVHhB47ucpbSGe3UvxdjeIdXF2que4vY= X-Gm-Gg: AY/fxX7rkK2KpJ1zyIdTC7SsnYwdH4sCvLECyP+3v/o5wint6k5WfbVLu0dI5WrSH2p tmmqD0zw3pceyOJaKTeRJrF4PgxDVQArVs7p6k0dpkiY+8eq/IUbkwSAPZ1Nqk3o/4z31ceqiFz 8JWedMlbqMve6a81PGWTmNVVEII2cy27tVHe5a1uFgdaqMrvy5zhgKGsYbkSuXE2fUFJR80WmAc wCv1XJmMwdhTgudar4by9+A+n1Y+2Jiw4oSgdqJvdbtkOGpPyULVUlW9FL2VI2l0MqTqmxJ5ix1 6Q5/ X-Google-Smtp-Source: AGHT+IG061KtfpyYBnPp5TxvyHfTstwAGzLGu5pgz8BGdmxhIOXg8jzCX27crMcLayF/GZHy4kXYvVJWI5opj90BFZQ= X-Received: by 2002:a4a:a64a:0:b0:65f:5d1a:7f92 with SMTP id 006d021491bc7-65f5d1a824dmr3465975eaf.25.1767982850562; Fri, 09 Jan 2026 10:20:50 -0800 (PST) MIME-Version: 1.0 References: <2155281.1767900170@sss.pgh.pa.us> In-Reply-To: <2155281.1767900170@sss.pgh.pa.us> From: Dave Cramer Date: Fri, 9 Jan 2026 13:20:34 -0500 X-Gm-Features: AQt7F2rWGapN8-jf6vHke5c2f1E4h9N9kDaadrZyMXSGl4PuNGlVMOmfuQnaURQ Message-ID: Subject: Re: Proposal to allow setting cursor options on Portals To: Tom Lane Cc: Robert Haas , Jelte Fennema-Nio , Jacob Champion , PostgreSQL Hackers , Heikki Linnakangas Content-Type: multipart/alternative; boundary="000000000000c6deda0647f89543" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c6deda0647f89543 Content-Type: text/plain; charset="UTF-8" On Thu, 8 Jan 2026 at 14:22, Tom Lane wrote: > Robert Haas writes: > > That sounds like the right approach to me. Note that I have also > > previously expressed my disagreement with the idea of bumping the > > protocol version regularly. I'm not entirely comfortable with the idea > > of using protocol extensions for everything, because I really imagined > > that they would be used for larger features that made a cluster of > > related changes rather than solitary changes, and that there wouldn't > > be many of them. > > I kind of doubt that there will ever be many of them, but if we start > to feel like there's a lot, we could invent abbreviations: single > feature names that clients can ask for that are defined to represent > a particular set of older features. But I'd argue that those sets > should be groups of related functions, not "whatever random stuff > exists as of Postgres 27". I think it'll be highly useful for clients > to declare which features they want, rather than leave people > wondering exactly which features this client intends to support. > > regards, tom lane > For the particular case of adding the ability to create holdable cursors at the protocol level which is what my patch is concerned with I don't think it's even necessary to bump the protocol or create a protocol extension. The change in the message is backward compatible and clients only need to know that after version 18 they can use the message to create a holdable cursor. I would argue that this patch is just rectifying an oversight in the original protocol. Dave --000000000000c6deda0647f89543 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On T= hu, 8 Jan 2026 at 14:22, Tom Lane <= tgl@sss.pgh.pa.us> wrote:
Robert Haas <robertmhaas@gmail.com> writes:
> That sounds like the right approach to me. Note that I have also
> previously expressed my disagreement with the idea of bumping the
> protocol version regularly. I'm not entirely comfortable with the = idea
> of using protocol extensions for everything, because I really imagined=
> that they would be used for larger features that made a cluster of
> related changes rather than solitary changes, and that there wouldn= 9;t
> be many of them.

I kind of doubt that there will ever be many of them, but if we start
to feel like there's a lot, we could invent abbreviations: single
feature names that clients can ask for that are defined to represent
a particular set of older features.=C2=A0 But I'd argue that those sets=
should be groups of related functions, not "whatever random stuff
exists as of Postgres 27".=C2=A0 I think it'll be highly useful fo= r clients
to declare which features they want, rather than leave people
wondering exactly which features this client intends to support.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 regards, tom lane


=
For the particular case of adding the ability to create holdable curso= rs at the protocol level which is what my patch is concerned with I don'= ;t think it's even necessary to bump the protocol or create a protocol = extension.
The change in the message is backward compatible and c= lients only need to know that after version 18 they can use the message to = create a holdable cursor. I would argue that this patch is just rectifying = an oversight in the original protocol.

Dave
<= /div>
--000000000000c6deda0647f89543--