172 похожих чатов

Привет. Столкнулся с каким-то трешем в ПГ15. Есть табличка, в ней

есть ПК и в ПК можно записать неуникальное значение....

заметил в тот момент, когда пытался сделать инсерт в дочернюю таблицу и та жаловалась на FK - дескать, нет соответствующего значение в родительской. А оно было)))
Долго мучался, решил попробовать инсертнуть то же значение еще раз. И оно вставилось))) И инсерт в дочернюю прошёл.

Никто не сталкивался?

з.ы. нагуглил, что в районе 9й версии был какой-то баг, который допускал дубли в ПК. Но тут-то 15я, свежая

12 ответов

19 просмотров

А что в pg_index с этим pk?

ОС апгрейдили? либо переключились на реплику на другой ОС? в частности, ищите смену версии libc. если была — надо реиндексировать

Какой-то Хмырь- Автор вопроса
Виктор Егоров
ОС апгрейдили? либо переключились на реплику на др...

судя по timestamp проблемной записи, это было года два назад, т.е. за полтора года до моего прихода) REINDEX на таблице не помог наврное, напишем ф-цию, которая пройдет по всем id в таблице и попробует вставить дубликат. Там где получится, будем удалять и вставлять заново))

Какой-то Хмырь
судя по timestamp проблемной записи, это было года...

Ну, то есть у вас битая почему-то таблица -- и теперь вы в режыме слепого котёнка пытаетесь что-то с ней сделать. Удачи. И, главное -- бэкапы делайте...

Какой-то Хмырь
судя по timestamp проблемной записи, это было года...

Тем не менее — upgrade (миграция на другую) OS был или его не было? См. https://wiki.postgresql.org/wiki/Locale_data_changes > наврное, напишем ф-цию, которая пройдет по всем id в таблице и попробует вставить дубликат. Не надо так делать, никогда. Скорее всего, у Вас [откуда-то] corruption, и Вы его сейчас распространите. :(

Какой-то Хмырь- Автор вопроса
Yaroslav Schekin
Тем не менее — upgrade (миграция на другую) OS был...

а не знаю, все, кто этим раньше занимался мертвы. а что вы предлагаете тогда?

Какой-то Хмырь- Автор вопроса
Yaroslav Schekin
Тем не менее — upgrade (миграция на другую) OS был...

почитал ссылку по диагонали, по идее, это не должно аффектить int колонки

Какой-то Хмырь
почитал ссылку по диагонали, по идее, это не должн...

Да, не должно. Можете показать SELECT version(); и \d+ этой таблицы? И посмотрите в логи OS и PostgreSQL на предмет чего-то "нехорошего" — ошибок чтения диска, RAM и т.п.

Какой-то Хмырь
а не знаю, все, кто этим раньше занимался мертвы. ...

Я предлагаю найти приличного DBA, знающего постгрес (возможно, на однократную работу) — или обратиться в компанию, спецыализирующуюся на управлении постгресами.

Какой-то Хмырь- Автор вопроса
Какой-то Хмырь- Автор вопроса
Ilya Anfimov
Я предлагаю найти приличного DBA, знающего постгре...

нашли проблему. дело было в inheritance... select ... from ONLY table помогли найти проблему. Спасибо @Yaroslav_Schekin

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта