> On Jul 19, 2017, at 10:23 AM, Robert Haas <robertmh...@gmail.com> wrote: > > On Wed, Jul 19, 2017 at 1:12 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> Doesn't this plan amount to breaking pg_upgrade compatibility and >>> hoping that nobody notice? >> >> Well, what we'd need to do is document that the type is only meant to be >> used to store dates within say +/- 30 years from current time. As long >> as people adhere to that use-case, the proposal would work conveniently >> long into the future ... > > Typically, when you try to store an out-of-range value in PostgreSQL, > you get an ERROR, and that's one of the selling points of PostgreSQL. > PostgreSQL users regularly beat up other projects for, say, allowing > 0000-00-00 to be considered a valid date, or any similar perceived > laxity in enforcing data consistency. I don't like the idea that we > can just deviate from that principle whenever adhering to it is too > much work.
I don't see the relevance of this statement. I am not planning to allow abstime data that is outside the range of the new epoch. Attempts to cast strings like '1962-07-07 01:02:03' to abstime would draw an exception with a suitably informative message. Now, the objection to having on-disk data automagically change meaning is concerning, and I was particularly unsatisfied with the idea that NOSTART_ABSTIME and NOEND_ABSTIME would suddenly be reinterpreted as seconds in the year 2068, which is why I made mention of it upthread. I was less concerned with dates prior to 1970 being reinterpreted, though it is hard to justify why that bothers me less. >> I'd definitely be on board with just dropping the type altogether despite >> Mark's concern. > > Then I vote for that option. I was somewhat surprised when Tom was onboard with the idea of keeping abstime around (for my benefit). My original post was in response to his statement that, right offhand, he couldn't think of any use for abstime that wasn't handled better by timestamptz (paraphrase), and so I said that improving storage efficiency was such a use. I maintain that position. The abstime type is a good and useful type, and we will lose that use when we discard it. Those who feel otherwise might like to also argue for dropping float4 because float8 does all the same stuff better. mark -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers