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 1vV6oj-00DgWy-1X for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Dec 2025 11:32:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vV6oi-00Hb12-1J for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Dec 2025 11:32:41 +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 1vV6oi-00Hb0u-06 for pgsql-hackers@lists.postgresql.org; Mon, 15 Dec 2025 11:32:40 +0000 Received: from mail-oa1-x2b.google.com ([2001:4860:4864:20::2b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vV6og-000qw8-0y for pgsql-hackers@lists.postgresql.org; Mon, 15 Dec 2025 11:32:40 +0000 Received: by mail-oa1-x2b.google.com with SMTP id 586e51a60fabf-3f551ad50d1so1159360fac.0 for ; Mon, 15 Dec 2025 03:32:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765798355; x=1766403155; 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=Jk1v2wNM4+ymIu5eNPxXszPcBh7WNUuTgdtOE8ZJpuk=; b=B2I9yCjqqiKlRNaL0lKzFbDiLvU2XbTXKQaRt7boAl518zu++YAX6SB8z/6yR6Lil4 7HYYf/3AvNF96MRB2FOSxb2BF01Uqkmkmx6jWbRR2+BZjclkeXhqGeKlkALQg0njBpfr gDGTemEXVgphMZZCbLV0c481pTheaovrD2WfomA+wHiLf4nIZU8lLx5cgiMRw+XLeesn 0TOEcVAQdmEuVEtrD/5idDvjy5tBRXiYh1SNsuQDQUC0MhvtS5MuGhpfEbJ1KspHX2bs esTlN2ZaNakhkqI9KlkA/uh8Rrpb7g7zHU/wEsYMLtEV5G1rI2UFmczL+tFWN5tcD/SU dOlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765798355; x=1766403155; 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=Jk1v2wNM4+ymIu5eNPxXszPcBh7WNUuTgdtOE8ZJpuk=; b=VCTHeJYGTwdAXLBSFwGVWGdJ3YtXGexJM0hd34tx2F6DIbajb26WibvD1b+Rnwf15+ O3k2qGSnhQw8BXs2onyXpiEaV7qJxE+0WBsQ0/GXm0qgQDaD5nrRzqTjKp/BDDOXK1zT 4/qbgfJPYOEYRX16q7pLfmwHy/CYEr+Gzbg9wP0y2uvRIDJ4g+UrY1AeN/kvFQ9Fmh8y qoR3eO91IONygdvOOk43kOs6OBLiw0TaKxmHZK8GHA6ZmekDoeGFIgPbKLE+hptHIG5N 09HhbapnTI8cVsGQJX7nUOQtHS6iY9ACa9NSZz5mVdLaxAqqqEtcnGxfeLHawbT/GRFA 7QjQ== X-Forwarded-Encrypted: i=1; AJvYcCVFXKGZI3h5Js1Kl+LURgElXIhmJZzxJ/q+0usJf2574PrVpFq3vlQoxbIVXFSZC0DDhJRCnQwUsMhanz0n@lists.postgresql.org X-Gm-Message-State: AOJu0YyIGhW3b3vSbf0Q0ghopypH5Szp1HCi9gohfyvE0w3GYsqfHYMZ eRFCZ44P4/M6yZmSTZhrbKY+cMKvFOozaLpcAc1vYDF2+/8T4CHnHZqr6RFVpJP9CyWMKpXlmFA 6/7RdDvLAx/C9jjPmQ52YijnAsouXx0U= X-Gm-Gg: AY/fxX56XKZi6TbvejH4ZkScBV0RGQYQ1pK9m7aI8OzLRL8k9RQf+Dvee1APWscLuVI gEyCQlR99D8I1kH2uYxVxa51sGkure9SYnyqvG4Q71xgiccuFOYHzhJrJB3UnC6e5rSk13/G1ie 0e0PrYeMbc5DjATRZMW18eTP4X93nk0vPzkjAa17bSeEYX4wIPkyzSP0BC/KIY4NpsLv+73Nk5K V7i2ngjj8i5iEu37O6qVc73F85k3n2wXiB9VHZo6YoOXC5R6Em5O1Lc2K73btqwmGwfZg== X-Google-Smtp-Source: AGHT+IHA56qdUWdblz8rYs9kV7dkyjYQ34DeF/SYFwZiuOslfn/jf2DDKKoXwpcj4JZSWCMzJGaX14264GrGuo8VRLs= X-Received: by 2002:a05:6820:2285:b0:65b:387a:835f with SMTP id 006d021491bc7-65b451b3e40mr4822156eaf.31.1765798355132; Mon, 15 Dec 2025 03:32:35 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Dave Cramer Date: Mon, 15 Dec 2025 06:32:18 -0500 X-Gm-Features: AQt7F2q8guEKbagh6IG3OsIkOKKEZ0iRy7iYLSHJYB7AsPYdUHvMaNF8fPB1T5Y Message-ID: Subject: Re: Proposal to allow setting cursor options on Portals To: Jelte Fennema-Nio Cc: Jacob Champion , PostgreSQL Hackers , Heikki Linnakangas Content-Type: multipart/alternative; boundary="000000000000b3e56c0645fbf7f7" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000b3e56c0645fbf7f7 Content-Type: text/plain; charset="UTF-8" On Sun, 14 Dec 2025 at 09:04, Jelte Fennema-Nio wrote: > On Sun, 14 Dec 2025 at 14:49, Dave Cramer wrote: > > Here I was thinking that binary was the one that did make sense. The > pgjdbc driver would like the results back in binary, I believe others would > as well. > > I agree drivers would like binary results back, but it's unclear to me > how CURSOR_OPT_BINARY is different from setting the result column > format codes to an array of a single 1? That should also change all > columns to be binary right? > Fair point. > > > Fair, but from my POV, we are only concerned with Postgres. I would say > it's up to the other implementations to deal with incompatibilities. > > I get what you mean, but I feel like we should at least be concerned > with popular ecosystem tools like, pgbouncer and pgpool. But then it > quickly becomes an exercise in where we draw the line, what about > postgres forks like Yugabyte? Or things very similar like cockroachdb. > Both of those are distributed, and probably don't use our LSNs. So as > a concrete example, if we add LSNs to the protocol, it would be nice > to work with their version too if it's not too much effort. e.g. by > specifing a length for the commit id in the protocol instead of > forcing it at the protocol level to always be a 64bit integer. > It would make sense to be forward looking here in the event that Postgres ever has wider LSN's agreed. Dave --000000000000b3e56c0645fbf7f7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On S= un, 14 Dec 2025 at 09:04, Jelte Fennema-Nio <postgres@jeltef.nl> wrote:
On Sun, 14 Dec 2025 at 14:49, Dave Cramer <= davecramer@gmail.= com> wrote:
> Here I was thinking that binary was the one that did make sense. The p= gjdbc driver would like the results back in binary, I believe others would = as well.

I agree drivers would like binary results back, but it's unclear to me<= br> how CURSOR_OPT_BINARY is different from setting the result column
format codes to an array of a single 1? That should also change all
columns to be binary right?

Fair point.= =C2=A0

> Fair, but from my POV, we are only concerned with Postgres. I would sa= y it's up to the other implementations to deal with incompatibilities.<= br>
I get what you mean, but I feel like we should at least be concerned
with popular ecosystem tools like, pgbouncer and pgpool. But then it
quickly becomes an exercise in where we draw the line, what about
postgres forks like Yugabyte? Or things very similar like cockroachdb.
Both of those are distributed, and probably don't use our LSNs. So as a concrete example, if we add LSNs to the protocol, it would be nice
to work with their version too if it's not too much effort. e.g. by
specifing a length for the commit id in the protocol instead of
forcing it at the protocol level to always be a 64bit integer.

It would make sense to be forward looking here in t= he event that Postgres ever has wider LSN's=C2=A0agreed.

=
Dave=C2=A0
--000000000000b3e56c0645fbf7f7--