This was mentioned in a different thread, but I thought it would find more viewers here.
Postgres has it’s own concept of which timezone it’s in. In the postgresql.cong file there is a line
timezone = If this is set, it will overide the computers timezone setting. The now() function (or localtime() ) will return the time in the zone set in the conf file. Not the computers time.
If this line is commented out, postgres will use the computers timezone.