Thread: BUG #17155: Casting to type date

BUG #17155: Casting to type date

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      17155
Logged by:          Никита Шумилов
Email address:      66666666nikita@gmail.com
PostgreSQL version: 12.8
Operating system:   Ubuntu
Description:

In the previous version 12.6, the date cast is handled without errors, but
in version 12.8 this generates an error
SELECT '20.08.2021'::date

ERROR:  date/time field value out of range: "20.08.2021"
LINE 1: SELECT '20.08.2021'::date
               ^
HINT:  Perhaps you need a different "datestyle" setting.
SQL-состояние: 22008
Символ: 8

I know that you can use to_date ('20 .08.2021 ',' DD.MM.YYYY '), but this is
less convenient


Re: BUG #17155: Casting to type date

From
Tom Lane
Date:
PG Bug reporting form <noreply@postgresql.org> writes:
> In the previous version 12.6, the date cast is handled without errors, but
> in version 12.8 this generates an error
> SELECT '20.08.2021'::date

Nothing has changed in that area in quite some time.  I don't
have a 12.6 installation immediately at hand, but I did find 12.2
laying about on my laptop, and it behaves the same way as 12.8:

$ psql postgres
psql (12.2)
Type "help" for help.

postgres=# SELECT '20.08.2021'::date;
ERROR:  date/time field value out of range: "20.08.2021"
LINE 1: SELECT '20.08.2021'::date;
               ^
HINT:  Perhaps you need a different "datestyle" setting.

The HINT's recommendation is accurate:

postgres=# set datestyle = dmy;
SET
postgres=# SELECT '20.08.2021'::date;
    date    
------------
 2021-08-20
(1 row)

So I suspect you forgot to transfer your datestyle setting to the
new installation.

            regards, tom lane