Seems that PostgreSQL does do math inside invalid time zone names, without reporting any errors to client if time zone name has sign and number inside range. staging=# show server_version; server_version ---------------- 9.6.8 (1 row) staging=# select now(), now() at time zone 'fubar+167'; now | timezone -------------------------------+---------------------------- 2018-03-28 09:16:25.897444+00 | 2018-03-21 10:16:25.897444 (1 row) staging=# select now(), now() at time zone 'fubar+168'; ERROR: time zone "fubar+168" not recognized According to http://sqlfiddle.postgrespro.ru can be reproduced in 11devel and 10.3 (Ubuntu 10.3-1.pgdg16.04+1)