\d domains
Table "public.domains"
Column | Type | Collation | Nullable | Default
--------------+------------------------+-----------+----------+-------------------------------------
id | integer | | not null | nextval('domains_id_seq'::regclass)
domain | character varying(256) | | not null |
...
Indexes:
"domains_pkey" PRIMARY KEY, btree (id)
"domains_idx2" UNIQUE, btree (domain)
в ней что-то пошло не так и образовались дубли доменов
причём некоторые домены ещё и какие-то очень странные, с бинарными данными, но это наверное не важно
запрос
select id, domain from domains where domain in (select domain from (select count(*) cnt, domain from domains group by domain having count(*) > 1) tmp)
возвращает 16 строк
а такой же запрос с ORDER BY - 0 строк
select id, domain from domains where domain in (select domain from (select count(*) cnt, domain from domains group by domain having count(*) > 1) tmp) order by 2
это битый индекс может так себя проявлять? или что?
а что значит order by 2?
покажите \d+ таблицы
Да, что-то "битое" там есть. > Наблюдаем очень странную ситуацию в пг 12.1 А почему не 12.2? В общем, ищите причину (disk corruption?), исправляйте, восстанавливайте backup (если ещё не поздно).
Может проблемы с collation?
Обсуждают сегодня