Lists: | pgsql-bugs |
---|
From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | dibxyooj96(at)gmail(dot)com |
Subject: | BUG #15145: date time default value issues |
Date: | 2018-04-07 04:22:03 |
Message-ID: | 152307492321.31235.14671498918810431529@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 15145
Logged by: Paj Dib Xyooj
Email address: dibxyooj96(at)gmail(dot)com
PostgreSQL version: 9.4.5
Operating system: (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
Description:
i set column "document_datenow timestamp with time zone NOT NULL DEFAULT
now()"
but the values that like this "0001-12-31 23:42:04+06:42:04 BC"
From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | "dibxyooj96(at)gmail(dot)com" <dibxyooj96(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #15145: date time default value issues |
Date: | 2018-04-07 05:29:31 |
Message-ID: | CAKFQuwbrUU7ned2_KGfx3vnK5tP_vTcijjtK7qnbDJyJQ7UyJg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
On Friday, April 6, 2018, PG Bug reporting form <noreply(at)postgresql(dot)org>
wrote:
> The following bug has been logged on the website:
>
> Bug reference: 15145
> Logged by: Paj Dib Xyooj
> Email address: dibxyooj96(at)gmail(dot)com
> PostgreSQL version: 9.4.5
> Operating system: (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
> Description:
>
> i set column "document_datenow timestamp with time zone NOT NULL DEFAULT
> now()"
> but the values that like this "0001-12-31 23:42:04+06:42:04 BC"
>
What does typing "date" at your o/s command line show?
This is so unusual I don't know really where to start. But 9.4.5 is an
unsupported minor release and your O/S version seems older as well. If
this isn't a production machine you need to diagnose I'd suggest installing
recent O/S and PostgreSQL, possibly from packages, and save yourself some
grief. Otherwise, after upgrading to 9.4.17 (though I would backup the
existing binaries just in case) you probably should volunteer considerably
more detail about your environment and what you were doing to it before you
discovered this behavior. Providing a self-contained script and output
transcript would be good too.
David J.
From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | "dibxyooj96(at)gmail(dot)com" <dibxyooj96(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #15145: date time default value issues |
Date: | 2018-04-07 09:35:08 |
Message-ID: | CAKFQuwYRO=7vSY-UbPg0xJ5G_P3s7C7sDTBmC53b1FiXZ6+kaw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
On Friday, April 6, 2018, David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
wrote:
> On Friday, April 6, 2018, PG Bug reporting form <noreply(at)postgresql(dot)org>
> wrote:
>
>> The following bug has been logged on the website:
>>
>> Bug reference: 15145
>> Logged by: Paj Dib Xyooj
>> Email address: dibxyooj96(at)gmail(dot)com
>> PostgreSQL version: 9.4.5
>> Operating system: (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
>> Description:
>>
>> i set column "document_datenow timestamp with time zone NOT NULL DEFAULT
>> now()"
>> but the values that like this "0001-12-31 23:42:04+06:42:04 BC"
>>
>
> What does typing "date" at your o/s command line show?
>
>
So, that a constant time is used is not unusual, it's documented. Now() is
a function that gets resolved at default creation. You need to use
"current_timestamp" literal special value if you want insertion time
defaults. But since you didn't create the table in BC with an odd time
zone offset either you gave bad example or there is still something wrong
in your environment.
David J.
From: | Marko Tiikkaja <marko(at)joh(dot)to> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | "dibxyooj96(at)gmail(dot)com" <dibxyooj96(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #15145: date time default value issues |
Date: | 2018-04-07 10:08:25 |
Message-ID: | CAL9smLDzz90B3X7WcavJ+u8q=g4PqjAutVcORGj4hm=aq=tK2A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
On Sat, Apr 7, 2018 at 12:35 PM, David G. Johnston <
david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
> On Friday, April 6, 2018, David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
> wrote:
>
>> On Friday, April 6, 2018, PG Bug reporting form <noreply(at)postgresql(dot)org>
>> wrote:
>>
>>> The following bug has been logged on the website:
>>>
>>> Bug reference: 15145
>>> Logged by: Paj Dib Xyooj
>>> Email address: dibxyooj96(at)gmail(dot)com
>>> PostgreSQL version: 9.4.5
>>> Operating system: (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
>>> Description:
>>>
>>> i set column "document_datenow timestamp with time zone NOT NULL DEFAULT
>>> now()"
>>> but the values that like this "0001-12-31 23:42:04+06:42:04 BC"
>>>
>>
>> What does typing "date" at your o/s command line show?
>>
>>
> So, that a constant time is used is not unusual, it's documented. Now()
> is a function that gets resolved at default creation.
>
That's not correct. You're thinking of DEFAULT 'now'. DEFAULT now()
works just fine.
.m
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | "dibxyooj96(at)gmail(dot)com" <dibxyooj96(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #15145: date time default value issues |
Date: | 2018-04-07 14:14:18 |
Message-ID: | 1546.1523110458@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Friday, April 6, 2018, PG Bug reporting form <noreply(at)postgresql(dot)org>
> wrote:
>> i set column "document_datenow timestamp with time zone NOT NULL DEFAULT
>> now()"
>> but the values that like this "0001-12-31 23:42:04+06:42:04 BC"
> This is so unusual I don't know really where to start.
Poking about in the tz database, I notice that +06:42:04 is the UTC offset
shown for Asia/Bangkok before 1920 (ie, before adoption of a standard time
zone offset). So, if the database's time zone were set to Asia/Bangkok
and then you put in a time around the start of the common era:
regression=# set timezone = 'Asia/Bangkok';
SET
regression=# select '0001-12-31 17:00 UTC BC'::timestamptz;
timestamptz
---------------------------------
0001-12-31 23:42:04+06:42:04 BC
(1 row)
Now this just moves the mystery to another place: how'd that value get
entered? I'd speculate about perhaps using to_timestamp() with a wrong
format string, causing what should have been year 2001 to be read as 0001,
or something like that. The OP hasn't shown us what he did to enter this
value, so it's all speculation. The table definition is nigh irrelevant,
though :-(
regards, tom lane