Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit ce1c30e

Browse files
committed
Make postgres_fdw request remote time zone 'GMT' not 'UTC'.
This should have the same results for all practical purposes. The advantage of selecting 'GMT' is that it's guaranteed to work even when the remote system's timezone database is missing entries, because pg_tzset() hard-wires handling of that, at least in 9.2 and later. (It seems like it would be a good idea to similarly hard-wire correct handling of 'UTC', but that'll be a little more invasive than I want to consider back-patching. Leave that for another day when we're not in feature freeze.) Per trouble report from Adnan Dautovic. Back-patch to all supported branches. Discussion: https://postgr.es/m/465248.1712211585@sss.pgh.pa.us
1 parent 74a587a commit ce1c30e

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

contrib/postgres_fdw/connection.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -368,10 +368,12 @@ configure_remote_session(PGconn *conn)
368368
* anyway. However it makes the regression test outputs more predictable.
369369
*
370370
* We don't risk setting remote zone equal to ours, since the remote
371-
* server might use a different timezone database. Instead, use UTC
372-
* (quoted, because very old servers are picky about case).
371+
* server might use a different timezone database. Instead, use GMT
372+
* (quoted, because very old servers are picky about case). That's
373+
* guaranteed to work regardless of the remote's timezone database,
374+
* because pg_tzset() hard-wires it (at least in PG 9.2 and later).
373375
*/
374-
do_sql_command(conn, "SET timezone = 'UTC'");
376+
do_sql_command(conn, "SET timezone = 'GMT'");
375377

376378
/*
377379
* Set values needed to ensure unambiguous data output from remote. (This

0 commit comments

Comments
 (0)