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

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

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

13 ответов

23 просмотра

Покажите (посмотрите) логи 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 🇷🇺- Автор вопроса

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта