timestamp without time zone causes silent data corruption across timezones
criticalconfigurationUpdated Mar 4, 2026
Technologies:
How to detect:
timestamp (without time zone) stores date/time without timezone information, so PostgreSQL cannot determine if '2024-03-15 14:30:00' is UTC, Eastern, or Tokyo time. When application servers are in different timezones or a server's timezone changes, data becomes silently incorrect.
Recommended action:
Always use timestamptz (timestamp with time zone): CREATE TABLE orders (created_at timestamptz NOT NULL DEFAULT now(), shipped_at timestamptz). timestamptz stores values in UTC internally and converts to/from session timezone automatically, ensuring consistent behavior regardless of server or client settings.