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

Коллеги, столкнулся с очень интересным и совершенно непонятным поведением. Я в

рамках одной транзакции записываю в 3 разные таблицы.
Там и апдейты и интсерты.
Так вот локально у себя запускаю, все работает как часы. Пробовал на разных БД. Одна на домашнем сервере, другая локально на машине в докере. Обе развернуты без каких либо доп настроек.
Выкладываю на корпоративный сервер разработки и там наблюдаю, что в одну из этих 3-х таблицы данные могут не вставится. Закономерности никакой. Иногда вставляются, а иногда нет, чаще не вставляются. Ошибок никаких нет. Включаю трассировку запросов в приложении и там запрос на вставку есть.
Ни у кого нет никаких идей как это может быть вообще? Это наверняка какие-то настройки БД, но вот какие?

13 ответов

25 просмотров

Покажите (посмотрите) логи PostgreSQL (включите log_statement=all временно или только для тестового пользователя), посмотрите \d+ таблиц (вдруг там есть триггер, который Вам "помогает" или что-то подобное) — зачем гадать?

Viktor 🇷🇺- Автор вопроса
Yaroslav Schekin
Покажите (посмотрите) логи PostgreSQL (включите lo...

Просто прямого доступа к БД нет, только через админов. Триггера там точно нет, поскольку всю схему создавал сам. Просто думал, что есть какое-то решение на поверхности.

Viktor 🇷🇺
Просто прямого доступа к БД нет, только через адми...

По крайней мере, это не какие-то настройки БД.

Логи постгрес надо смотреть может тайм-аут маленький стоит и запись не проходит

Viktor 🇷🇺- Автор вопроса

Но тогда ошибка должна быть. А тут в одну таблицу в рамках транзакции записи нет

Viktor 🇷🇺
Но тогда ошибка должна быть. А тут в одну таблицу ...

Ищите другую таблицу в search_path, можэт в неё проходит. Или триггеры, да. Нет, само по себе такое не бывает в общем. Но да, кстати, посравнивайте коды возврата -- количество обновлённых/вставленных строк, возможно, там будет какой-то сюрприз.

А как вы проверяете что не вставляются?

Viktor 🇷🇺- Автор вопроса
Konstantin Zaitsev
А как вы проверяете что не вставляются?

select * from … В api приложения есть интерфейс к этой таблице

Viktor 🇷🇺
select * from … В api приложения есть интерфейс к ...

Вы в своей транзакции сделайте это и в лог запишите

Viktor 🇷🇺- Автор вопроса
Konstantin Zaitsev
Вы в своей транзакции сделайте это и в лог запишит...

Лог пишу в консоль и внутри транзакции данные есть 🫤 Полный бред…

Viktor 🇷🇺- Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта