Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eFj1J-0004eN-CD for pgsql-admin@arkaria.postgresql.org; Fri, 17 Nov 2017 15:57:33 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1eFj1H-0002BN-UK for pgsql-admin@arkaria.postgresql.org; Fri, 17 Nov 2017 15:57:31 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eFj1H-0002B2-A7 for pgsql-admin@postgresql.org; Fri, 17 Nov 2017 15:57:31 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eFj1E-00076L-AK for pgsql-admin@postgresql.org; Fri, 17 Nov 2017 15:57:30 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id vAHFvQt8025915; Fri, 17 Nov 2017 10:57:26 -0500 From: Tom Lane To: Don Seiler cc: pgsql-admin Subject: Re: FATAL: invalid value for parameter "TimeZone" after upgrade from 9.2 to 9.6 In-reply-to: References: <22950.1510932311@sss.pgh.pa.us> <23393.1510932969@sss.pgh.pa.us> Comments: In-reply-to Don Seiler message dated "Fri, 17 Nov 2017 09:43:10 -0600" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <25913.1510934246.1@sss.pgh.pa.us> Date: Fri, 17 Nov 2017 10:57:26 -0500 Message-ID: <25914.1510934246@sss.pgh.pa.us> List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-admin Precedence: bulk Sender: pgsql-admin-owner@postgresql.org Don Seiler writes: > On Fri, Nov 17, 2017 at 9:36 AM, Tom Lane wrote: >> Ah, gotcha. I believe that the FATAL case occurs if the client tries >> to set an invalid parameter value within the connection startup packet, >> rather than after connecting. But that behavior hasn't changed in >> a long time either. I think what you need to be looking for is a >> client-side change in how/when it sends a desired timezone setting to >> the server. > That's what I thought as well. However the only thing that changed > yesterday was upgrading Postgres from 9.2.22 to 9.6.6. The app didn't > change and the Postgres timezone stayed at 'US/Central' as it has been all > year. I'm assuming David Wall had a similar scenario in his 8.3.3-to-9.3.4 > upgrade. I think you need to look harder for what else you changed --- perhaps a new JDBC driver version rode along with the core-PG update? I can reproduce the FATAL case in psql+libpq: $ PGTZ=PST psql psql: FATAL: invalid value for parameter "TimeZone": "PST" However, I can reproduce that back to 7.4.30 as well. I am entirely confident that you are not looking at a server behavior change here. > In our case the client app was running through Tomcat, and had a setenv.sh > that had "-Duser.timezone=CST". The relevant question then would be just when/how the JDBC driver tries to propagate that setting to the server. I'm not up on their release history, but it wouldn't surprise me a bit if they'd changed at some point to send the timezone setting in the startup packet rather than later. It'd be a sensible change to eliminate one network round trip during connection startup. We made libpq do it that way in 7.4 when we introduced the capability of having parameter settings in the startup packet, but it likely would have taken awhile for other drivers to get on board. regards, tom lane -- Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin