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)