| Column | What PostgreSQL stores internally | |--------|----------------------------------| | ts_native | 2025-04-14 14:00:00 (exact text, no zone info) | | ts_tz | A UTC timestamp: 2025-04-14 18:00:00+00 (because 2pm ET = 6pm UTC) |
Let’s settle the debate: vs TIMESTAMPTZ (aka TIMESTAMP WITH TIME ZONE ) . postgres timestamp vs timestamptz
SET TIME ZONE 'Asia/Tokyo'; SELECT * FROM time_test; | Column | What PostgreSQL stores internally |
| Feature | TIMESTAMP | TIMESTAMPTZ | |---------|-------------|----------------| | Time zone awareness | ❌ No | ✅ Yes (UTC internally) | | Changes with client time zone | ❌ No | ✅ Yes (on output) | | Safe for global apps | ❌ Risky | ✅ Safe | | Storage size | 8 bytes | 8 bytes (same!) | SELECT * FROM time_test