| From: | Karsten Hilbert <Karsten(dot)Hilbert(at)gmx(dot)net> |
|---|---|
| To: | pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Domain based on TIMEZONE WITH TIME ZONE |
| Date: | 2018-05-10 10:36:08 |
| Message-ID: | 20180510103608.GB3622@hermes.hilbert.loc |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Thu, May 10, 2018 at 11:19:36AM +0100, Ben Hood wrote:
> The question should not be “how does Postgres store the timestamp internally”.
>
> Rather it should read “is enforcing the submission of UTC denominated timestamps in the server by using a domain a sensible way to enforce a policy that will blow up when apps attempt to use non-UTC timestamps (when they shouldn’t be)”.
>
> So the question is not how does the timestamp get stored, rather, is it an anti-pattern to use Postgres as a linter for apps that forget to use UTC exclusively?
I dare say it is one of PG's strengths' to be usable as a
"linter".
However, maybe rephrase to:
Is it an anti-pattern to use Postgres as a linter for
apps that forget to use ... timezones *appropriately* ... ?
As long as you can force apps to submit proper timestamp-with-
timezone data is there _really_ a need to care whether apps
do submit in UTC ? After all, it is always converted to UTC
servside anyway ?
In case you want to enforce only ever _handing out_ UTC data
you could wrap the table in a view with forces the output
timezone to UTC and only offers timestamp-withOUT-timezone to
the outside. Then force read access via the view.
Karsten
--
GPG key ID E4071346 @ eu.pool.sks-keyservers.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pavel Stehule | 2018-05-10 10:38:03 | Re: How do I get the SQL statement in a trigger? |
| Previous Message | a | 2018-05-10 10:23:25 | How do I get the SQL statement in a trigger? |