postgres_fdw fails because GMT != UTC

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: postgres_fdw fails because GMT != UTC
Date: 2024-04-04 06:19:45
Message-ID: 465248.1712211585@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Over at [1] we have a complaint of postgres_fdw failing with
a remote-server error

> ERROR: invalid value for parameter "TimeZone": "UTC"

I am not quite clear on how broken an installation needs to be to
reject "UTC" as a time zone setting, except that the breakage cannot
be subtle. However, I notice that our code in pgtz.c and other
places treats "GMT" as a hard-wired special case ... but not "UTC".
I wonder if we ought to modify those places to force "UTC" down the
same hard-wired paths. If we acted like that, this would have worked
no matter how misconfigured the installation was.

An alternative answer could be to change postgres_fdw to send "GMT"
not "UTC". That's ugly from a standards-compliance viewpoint, but
it would fix this problem even with a non-updated remote server,
and I think postgres_fdw is generally intended to work with even
very old remote servers.

Or we could do both.

Thoughts?

regards, tom lane

[1] https://www.postgresql.org/message-id/flat/5DF49366-10D1-42A4-99BF-F9A7DC3AB0F4%40mailbox.org

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2024-04-04 06:29:44 WIP: Vectored writeback
Previous Message Pavel Stehule 2024-04-04 05:46:05 Re: Schema variables - new implementation for Postgres 15