Как лучше работать в postgresql и php с временными зонами?
Лучше работать через DateTimeImmutable. А от DateTimeизбавляться где возможно. 
Для PostgreSQL DateTimeImmutable это - TIMESTAMP(0) WITHOUT TIME ZONE
https://stackoverflow.com/questions/67536245/datet...
https://github.com/symfony/symfony/issues/47580

Вы всегда сможете прибавить к времени часовой пояс, там где вам нужно.
Лучше работать через DateTimeImmutable. А от DateTimeизбавляться где возможно. 
Для PostgreSQL DateTimeImmutable это - TIMESTAMP(0) WITHOUT TIME ZONE
https://stackoverflow.com/questions/67536245/datet...
https://github.com/symfony/symfony/issues/47580

Вы всегда сможете прибавить к времени часовой пояс, там где вам нужно.