Date, Time & Timestamptz
Always prefer timestamptz; timezone pitfalls. Practical PostgreSQL patterns for production queries.
Search across all documentation pages
Always prefer timestamptz; timezone pitfalls. Practical PostgreSQL patterns for production queries.
SHOW TimeZone;
SET TimeZone = 'UTC';
SELECT now(), current_timestamp;When to reach for this: This pattern appears in application or reporting SQL you maintain.
SELECT ts AT TIME ZONE 'America/Chicago' AS local_wall,
ts
FROM (SELECT timestamptz '2026-01-15 12:00:00+00' AS ts) s;What this demonstrates:
| Alternative | Use When | Don't Use When |
|---|---|---|
| ORM query builder | Team standardizes on one stack | Complex SQL becomes opaque |
| Materialized view | Repeat expensive aggregates | Needs refresh strategy |
| Warehouse replica | Heavy BI scans | Not for OLTP latency |
Use multiline template strings or SQL files; lint in CI.
When you need unique rows without aggregates.
Sort can use index order if query matches index columns.
Stack versions: This page was written for PostgreSQL 18.4 (stable 18, maintenance 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x, and PostGIS 3.5+.
Reviewed by Chris St. John·Last updated Jul 18, 2026