Tuve un problema similar después de actualizar la información de la zona horaria, es decir, descargar la base de datos de IANA y compilar usando zic.
En realidad, mi problema comenzó después de reiniciar PostgreSQL. tengoinvalid value for parameter TimeZone: UTC y reiniciar nuevamente no hizo nada para resolver el problema.
Resulta que la información de mi zona horaria se estropeó por completo después de la actualización. Tenía enlaces simbólicos colgando /usr/share/zoneinfo. Desde una consola psql, obtuve:
mydb=# SELECT * FROM pg_timezone_names;
ERROR: could not stat "/usr/share/zoneinfo/PRC": No such file or directory
Eliminé todos esos enlaces simbólicos colgantes. Después de hacer esto, al menos pude ponerme SELECT * FROM pg_timezone_namesa trabajar, pero aún así obtuve el mismo invalid value...error.
Lo que finalmente resolvió el problema para mí fue crear un nuevo enlace simbólico:
cd /usr/share/zoneinfo
ln -s Etc/UTC UTC
Después de esto, SET time zone 'UTC'funcionó correctamente.
SET time zone 'UTC'funciona en mi instalación de PostgreSQL 9.1.4.