en_US.UTF-8. Дело в версии PostgreSQL?
Версия PostgreSQL 12.5
db_name=> select firstname from table where firstname = 'AAA' ;
firstname
-----------
AAA
AAA
(2 rows)
db_name=> select firstname from table where firstname = 'Aaa' ;
firstname
-----------
Aaa
Aaa
(2 rows)
Версия PostgreSQL 9.6.20
db_name=> select firstname from table where firstname = 'Aaa' ;
firstname
-----------
Aaa
Aaa
AAA
AAA
(4 rows)
делали обновление системным пакетам? в частности libc?
К сожалению, не знаю. Достались 2-а сервера и все.
\d+ этой_table там и там покажите.
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description -----------------+-----------------------------+-----------+----------+---------+----------+--------------+------------- id | uuid | | not null | | plain | | firstname | public.citext | | | | extended | | Column | Type | Collation | Nullable | Default | Storage | Stats target | Description -----------------+-----------------------------+-----------+----------+---------+----------+--------------+------------- id | uuid | | not null | | plain | | firstname | citext | | | | extended | |
А collation этой базы какой? \l+ что показывает?
и там, и там | Encoding | Collate | Ctype | -----------+-------------+-------------+ | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Хмм.. глупый вопрос, а что-то вроде: WITH t(a) AS ( VALUES ('Aaa'::citext), ('Aaa'), ('AAA'), ('AAA') ) SELECT * FROM t WHERE a = 'Aaa' ; тоже выдаёт разные результаты (я к тому, что, может, в таблицах данные разные)?
Я проверил: в таблицах есть данные
Т.е. даже этот запрос на этих базах выдаёт разные результаты? Если да, посмотрите в эту сторону https://t.me/pgsql/297138 Т.е. проверьте версии glibc.
Обсуждают сегодня