См. Комментарий Милена А. Радева. Это должен был быть ответ. Вы не должны позволять пустые строки.
Конечно, хотя бы один столбец может иметь ограничение, которое может привести к сбою вставки. Затем ваше приложение может распечатать / зарегистрировать ошибку с достаточным количеством диагностики, чтобы вы могли выяснить, что происходит и при каких условиях.
Не модифицируя вышеперечисленное, определите, все ли данные из вашей очереди были вставлены правильно, или отсутствуют некоторые строки. Т.е., посмотрите, переводятся ли некоторые строки в пустые вставки. Если вы видите, что это вызвано некоторыми данными, вы можете найти общие данные проблемы.
Используете ли вы подготовленные, параметризованные вставки или вы каждый раз строите строку оператора вставки SQL и выполняете ее? Если вы строите строки SQL для выполнения, то вы должны убедиться, что вы правильно цитируете столбцы символьных / двоичных строк с помощью процедур, предоставляемых libpq. Или переключитесь на другой метод подготовки вставки и передачи данных в качестве параметров, где они могут быть правильно процитированы самой libpq. Это также может улучшить производительность.