BUG #17155: Casting to type date

Started by PG Bug reporting formover 4 years ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #17155: Casting to type 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