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 1vdkbV-004HOt-2v for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 07:38:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdkbU-000tJF-2f for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 07:38:45 +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 1vdkbU-000tJ7-1N for pgsql-hackers@lists.postgresql.org; Thu, 08 Jan 2026 07:38:45 +0000 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vdkbT-004qmJ-0A for pgsql-hackers@lists.postgresql.org; Thu, 08 Jan 2026 07:38:44 +0000 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-59b685d2b79so2634688e87.3 for ; Wed, 07 Jan 2026 23:38:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1767857920; x=1768462720; 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=U4Hs/VmBqKJFEKnM0NnEt4ncsq3kC6SBdppe9xJpPnE=; b=kZFZ1kepCoZnSsmu6EmEelFzYvjehksWhWU8286soPej6ErUI3vQbzVGgO0g2affZR ZH9k0l+3CWgTz29egPlai8i4r7/fHEl/gryFiHh22/tGNvF4kkgRo4eXzzwjCkArcXpP yfOaip6KrOgq5sCEkcOoIWeTGApPXgSCP1/9B71XpXczEudgDZP2FwLF/Py7kWiXUDe3 Qby8TGMKnwTN/8EOSjC6bYa5Ce2OOsZEsDl/CQHd0n+nnCnFNFMkNe9xXTHzevs463VZ bom+TRKQF84Gd2g+NkF1JO+RHHS8m9OCDUCdr/IVjdGqY9oFiTRf8+KWQ8Hxn35OWiC6 dlhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767857920; x=1768462720; 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=U4Hs/VmBqKJFEKnM0NnEt4ncsq3kC6SBdppe9xJpPnE=; b=U0IEoneabZS/lXqtLLaXlDq2597nBD0mkAy95hh820ZCytl46TOSEDWNP8D094f/NU Iknny1cOVSc/b+gFdlbdeuRiEhbAbC0/AD52tpwDWVxJzS9kES2AgmH6y92u2195DS8/ VmwotjamIHgdbEt0h6noG0q2gadhYDB6384UqGxqr2ev0MwE0tgynWs8D7S7rTumgEMG 4LimFXLMLujPgqITeCOwLidm+yJCngyntUU+FuYIdTgsUImLkRiHxHwh9mBx0/ztPzSD 5UZTRXcyA5wR3qihk5YWTVaQPgzkYb9/7kvwSMjjPhIUdCpguV/mgSr7vYF8EOHJhHd+ T9UA== X-Forwarded-Encrypted: i=1; AJvYcCWB+9pcbzcZfEN9zx9BBfvL3CsS9agjA7yo0jSaKo9K52Zy4Xxh1wsRycz64ROtHUDBR/osfdS0q6rlndI7@lists.postgresql.org X-Gm-Message-State: AOJu0YzMHd2TyCDNE+zxihaXJZePbFs1TMluwr5cU6/NRw5beB8Mdeb/ FvmgIrPCEs8sAqRkudDAOkKaO1+8x5vuun/KZf7bZw4YfEfldH0rv4NC3htgrua6DaZfesgoN9f u28HbUrjg2FDCXajk2rIeqtFt07c2zFKzPlA8LcMBDw== X-Gm-Gg: AY/fxX5ptCD9MIeAM5oJTYEwBjfJw1gwlBkJjnFae0AnCN64mCStRnP4Jkf5NIHY5Ba uWlLQM23VNZ5ooBpomxWB1TZ08VKJiF6Ksc0g5QlICxjrrpWSqMTgiK8rLB/mKk6NPzfV5twx7g dYKKP7HUgQ+RDf7/fYSORsdBHi69nmCevCT+CFTGRimBm4ehbVy+fxktTn5PgcpOvLjBf5le0XG TplQyI/1R+DgO3daBSaMOqYZqfn3gfGsUi9zrqyLzglF7OenuPhr0zRU5NWoWjQ5Q/oL+waH3zU xhUZcC4= X-Google-Smtp-Source: AGHT+IHxdo6T6IztDeFW80yzUYBlFmCeSP+kkKzNa79cIBRYKWYPbBCZJaKUiVMsT2BVtQCaSDB1x30+gcaP3FNcehA= X-Received: by 2002:a05:6512:acd:b0:57c:2474:371f with SMTP id 2adb3069b0e04-59b6f054c91mr1905748e87.45.1767857919818; Wed, 07 Jan 2026 23:38:39 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Jelte Fennema-Nio Date: Thu, 8 Jan 2026 08:38:28 +0100 X-Gm-Features: AQt7F2pf49l4P8xHSenCF1AHLz1PT7VVlZarzHwdJIo1wRdI5_K0gdQ6YEto3fE Message-ID: Subject: Re: Proposal to allow setting cursor options on Portals To: Jacob Champion Cc: Dave Cramer , 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 Thu, 8 Jan 2026 at 01:39, Jacob Champion wrote: > > Having a single version is only 1 option, > > Seems like clients must support 3.0 up to 3.N in practice, and test > all of those. If you want a feature in 3.6 and the server says it only > supports 3.4, you're speaking 3.4 now. That's still N options. I meant 1 per yearly set of protocol features. So if there's M years with protocol features and on average N features per each of those years the amount of different options to consider over time are: For only version bumps: M For completely orthogonal protocol extensions: M*N For completely non-orthogonal options: (M*N)^2 > You're saying "well hopefully clients don't actually have to support > all of them," but I don't think you gave a reason why that would be > okay for a production implementation. Clients don't have to care about every postgres version that ever existed, or every possible proxy in existence. In 5 years, a client author might just say: well I only care about my client being able to connect to supported postgres servers, so if a server downgrades to protocol 3.0 I close the connection. This is a decision for the client author to make and for the client author only. And they don't need to care about any of the other clients in existence at all. Only the servers their client should be able to connect to. > Is there an unstated assumption > here, that we'll eventually drop support for 3.0 at some point > relatively soon? (And then 3.2, and then...) If so, I'd prefer to > focus the conversation on that assumption. Because that seems like a > complete nonstarter to me, personally. No, that's not what I meant. Because postgres has to care about the clients it wants to support. And that's all of them. There will probably be clients supporting only 3.0 for a very long time. So the postgres server will need to be supporting 3.0 for a very long time.