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 1vgA2F-008s95-0Z for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Jan 2026 23:12:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vgA2E-00DT2s-1L for pgsql-hackers@arkaria.postgresql.org; Wed, 14 Jan 2026 23:12:18 +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 1vgA2D-00DT2k-3A for pgsql-hackers@lists.postgresql.org; Wed, 14 Jan 2026 23:12:18 +0000 Received: from mail-lf1-x131.google.com ([2a00:1450:4864:20::131]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vgA2B-000T19-1z for pgsql-hackers@lists.postgresql.org; Wed, 14 Jan 2026 23:12:17 +0000 Received: by mail-lf1-x131.google.com with SMTP id 2adb3069b0e04-59b78886454so399485e87.2 for ; Wed, 14 Jan 2026 15:12:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1768432335; cv=none; d=google.com; s=arc-20240605; b=NLy/6xfuelE4W7r4hgm5AEeooGxQZbcBrVX5hXWbW6b3TBi2UNHRPHxriE6bg7dnbM 26WOEthF0bzubTRom0NE49y51KY63J+s0Tp9bnhuBmzoNMmX1Qbya2YGCU+uRuqY2S91 bIer1vo6aIsLHLHXXUq6W3ae+DyHoSlVo7WUtJvZqtMWPCRovFQEa0Yyb0mD6vkmB1hc LEdj6jAhE3WXNOAFgZHeV4FoMRjBVYY65c59Pd7qhv/N2QUYbov0RCnPHQWqcy1ErFtk tPmOMW3sU/iD8SoVx9o+iSy93wg4iuTe3VUlkqSqDN4CCu/feXJAoGx4MJK5loVGh+Kd diIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=f1iKmXoUh2ctLFCWZ84nhvO6VvokOto458uup2C1vkc=; fh=KihXwLq6jU46Ik0cE+pbO4sPSUO2QzyBOUqxGV6RLeU=; b=XQlt8YElqq53Gihj4L1R/gELFxfRfj1DsUtzd4e67XXiqZHipLlTOtonNzdUMLzJBj huH1M5z3vsvmaFCCtJnqvbBldMXbkHVJl5KpHxY1/sS0nx/6UJN4bpYCGGkdV78utSA+ TXKm2IyRENC5mltzGdOhv2UVop/lo7Hdnb48CCK+Ev7MLC8Yc8uNrKqom57uHAqrHjuJ BxIFPlvKIGVE0+fzISOOzYPxDWb+2bkDgHVTf1CBTDCBQtdtJcahp3KCzzL0aJcDCyts 8nkzMvBMlMwWOxOES+ETgrxdX0ekoRK7ijUp/1Lnj8YQC8Y8tgVrNJ+xb2DGAA3Un4d5 Kx1Q==; 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=jeltef.nl; s=google; t=1768432335; x=1769037135; 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=f1iKmXoUh2ctLFCWZ84nhvO6VvokOto458uup2C1vkc=; b=N7+XAZOrQRuG5ct5gNcBIgH7B5RB2uKSHd+dxbCDcpzV1toFkYMKg/ouh43Q+X+Zdt avDWfthDXBCub6XC845NWMtAlDobfAwmD/4T6LdGq8Rlbsr7nIznBN4ncMI/Ok381x/3 mLiLQHTzrPkcljynr25cxqlgmAtwzgiDu9qlK1KxX7CDj47m14cIWrdk49EPr/M6MNt4 1xYETwPoJMCwXT/wUKR4ZEXiIuRhTELa7WQ4ghelbJ5SUPTHlx0tZFbxkdJmTR9MNlg1 J1mS3zAfa7gMvfJ262B+rnQvHwi8I8pIugCg9Dg0nxpQpX/ip9ZCzIyzfLO4g9TcoMKp LPsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768432335; x=1769037135; 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=f1iKmXoUh2ctLFCWZ84nhvO6VvokOto458uup2C1vkc=; b=aDbpp0NiFADIluGK3yY3Lob6q6soJcrv+Kwa2CGK2VPHagV1GL1nbGAp76D+FcI+Fc IVbH7EwLBZEE2jd5vSTTm+GdhbzHZYaCGFbDimIzdVSu7Z9HKM7on1AFscrxr55ylJoz PNVqBj4OHILHPRuNU0HyME4J0ozYIZjFhsV6Um4D2JwZmtSBnptM5nLMztrnImcGUn1q lzL0K01lfWcL3cHjrEsQ2ORkrGaCnTqckonZawzNIQbRbVquhppTqe9I7CFL8NTzVZsb +aBr4b9qrZBX+yS0RKeSo0gJdnZYQu1TzYpZ3OdfcL++8tgCG06FpsSF4vN4VVn3qR2g /PgQ== X-Forwarded-Encrypted: i=1; AJvYcCUg3ySvy7Offl2crLX6mCTck9H9eHw4Degq9owb6wFYcGIyMfdhjMAJnzZRHPlT8us9XyUuJSglbQKUhhN3@lists.postgresql.org X-Gm-Message-State: AOJu0Yz/HhdFjJGd/Nx35LOVdyKVX3d4S9Jrwhd/RBSIvknI8BtZcQGc 13DZaEWVYitRcECztPRceRU7ARnq5X59gNDlPot1I6i5f077cXzZAX0WOrT3L/OP8CvlGIgcgcE r0qbGq1K5W+nSKpDic7Wjf2sapf1/Bzxv8fRW9OVAqg== X-Gm-Gg: AY/fxX5/EXnkIz3tha75hSeQRj4HC5lalu4bSJdTQJ/+TURFZFS7p1gObyuGD3y6NgX G7Z4o6Jt8GfKUbn3L6jq/onBsbp6oD9Am8U/gGTPXIHJ/cWIAU6SFEGfN32D2pmeeedqic1WNYx YEm6NxZRVVUB5zx3o/+eo6WMxxRr95K1UkqAzjx4BxvDvdbZtE8l5swk+99U0b63P+TKdw39uO1 LiPl3hE4vrTaDRhjz8pgW8NPSIiEDYLaCYUwbWyOOBWc1pDnDr0sYrAep5CNaRP7jzjW+o/ X-Received: by 2002:a05:6512:12c5:b0:59b:7185:757d with SMTP id 2adb3069b0e04-59ba0f8e81fmr1533171e87.50.1768432334533; Wed, 14 Jan 2026 15:12:14 -0800 (PST) MIME-Version: 1.0 References: <2155281.1767900170@sss.pgh.pa.us> In-Reply-To: From: Jelte Fennema-Nio Date: Thu, 15 Jan 2026 00:12:03 +0100 X-Gm-Features: AZwV_Qgn1sdEzWJ0kvUZwGuAVjg1tEE9lPMjwUie5YywcBYHhVmFId-1qZNQRA4 Message-ID: Subject: Re: Proposal to allow setting cursor options on Portals To: Robert Haas Cc: Dave Cramer , Tom Lane , Jacob Champion , PostgreSQL Hackers , Heikki Linnakangas Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 14 Jan 2026 at 20:24, Robert Haas wrote: > But I wonder whether we should just consider slipping > things like this into the protocol without bumping the version at all. I feel like I've said this many times already, but I really do not understand why there's such a hesitation on bumping the minor protocol version. Bumping the minor protocol version has zero downsides to me. IMO we could bump it every PG release even if we don't make any changes to the protocol. Nothing would break. The only thing that breaks things is requesting anything other than 3.0, because most proxies haven't implemented NegotiateProtocolVersion. But hopefully that will be a concern of the past once Jacob merges the grease stuff[1]. After that it doesn't matter what minor version is requested, if it's 3.2, 3.3, or 3.456. Requesting any of those will not cause breakage. > That makes me a bit nervous because it kind of makes a mockery of the > idea of a version number, but it's also not entirely without > precedent. For example, COPY BOTH mode didn't use to exist, and now it > does, and the protocol version number didn't change in the process. I think CopyBoth is very special, because it's only used in logical replication. In a sense it's practically a protocol extension, because it is only sent by the server if the client explicitly requested it through a keyword in the StartupMessage (replication=database). As a maintainer of a proxy, I'd be pretty annoyed if clients start sending fields or messages that I don't expect, without *something* in the StartupMessage advertising that that will happen. This specific patch would be fine for pgbouncer, because it only parses the first few fields of the Bind message. But e.g pgcat seems to parse the whole Bind message[2] [1]: https://www.postgresql.org/message-id/flat/DDPR5BPWH1RJ.1LWAK6QAURVAY@jeltef.nl [2]: https://github.com/postgresml/pgcat/blob/5b038813eb14f181434ab7b5509e74d9b1fe123b/src/messages.rs#L1019-L1064 P.S. This *really* is my final on-list message on the topic of bumping protocol version numbers . Off-list I'm happy to explain to people and maybe I'll reconsider re-opening the discussion in a few years. But the current discussion is only going in circles, and I'd rather spend my energy on something that is useful.