Add a timezone-specific variant of date_trunc().
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Nov 2018 20:41:07 +0000 (15:41 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Nov 2018 20:41:07 +0000 (15:41 -0500)
commit600b04d6b5ef6c9ad3ea684aad40260bd60d5872
tree042a86af0ea3063ea3aaa75958e4d73e57819381
parent06c723447b6b8fc7e394cd2ad23785a6e54e36da
Add a timezone-specific variant of date_trunc().

date_trunc(field, timestamptz, zone_name) performs truncation using
the named time zone as reference, rather than working in the session
time zone as is the default behavior.  It's equivalent to

date_trunc(field, timestamptz at time zone zone_name) at time zone zone_name

but it's faster, easier to type, and arguably easier to understand.

Vik Fearing and Tom Lane

Discussion: https://postgr.es/m/6249ffc4-2b22-4c1b-4e7d-7af84fedd7c6@2ndquadrant.com
doc/src/sgml/func.sgml
src/backend/utils/adt/timestamp.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/test/regress/expected/timestamptz.out
src/test/regress/sql/timestamptz.sql