Fix handling of timestamp and datetime columns on PostgreSQL.

Timestamp columns are defined as `timestamp with time zone`,
datetime columns as `timestamp without time zone`. PostgreSQL
converts timestamp values from the local time zone to UTC for
storage and back; datetime values are treated as-is. This is in
line with MySQL.
Improve readability per robin850's suggestions.