Sorry about the bug in the subject: the data type is TIMESTAMP WITH TIME ZONE, not TIMEZONE WITH TIME ZONE
> On 10 May 2018, at 09:03, Ben Hood <b...@relops.com> wrote: > > Hi, > > I'm using a domain to specialize the built in TIMEZONE WITH TIME ZONE type. I > want to sanity check this approach before continuing to use this. > > I want to prevent timestamps with non-UTC offsets from getting inserted into > the database. Having a UTC-only database at the schema level means no app, > proc, script or load operation can inadvertently supply a local time offset. > > The domain is defined as: > > CREATE DOMAIN UTC_TIMESTAMP AS TIMESTAMP WITH TIME ZONE CHECK > (EXTRACT(TIMEZONE FROM VALUE) = 0); > CREATE TYPE UTC_RANGE AS RANGE ( SUBTYPE = UTC_TIMESTAMP ); > > My potentially misguided assumption is that I am effectively re-using a check > constraint across the schema. > > Is this crazy? > > Am I missing the point of how Postgres stores TIMEZONE WITH TIME ZONE > internally? > > Thanks in advance, > > Ben > >