Высокочастотная вставка в PostgreSQL, и вставленные данные не могут быть выбраны до нескольких минут спустя?

#c #postgresql

#c #postgresql

Вопрос:

Я использую функции C API PQprepare и PQexecPrepared для вставки данных в PostgreSQL частота составляет 10-100 / с, причем каждый оператор insert содержит 100 строк.

Что меня смущает, так это то, что данные, которые я только что вставил, не могут быть выбраны. Примерно через 1-3 минуты я могу выбрать данные.

Например, я вставляю некоторые данные в 18:00, и в моей программе на C PQresultStatus возвращается значение success, а затем я выбираю их одновременно, результат — ничего. Через несколько минут я могу выбрать данные.

Я хочу знать, есть ли очередь или другие вещи в PostgreSQL, когда я вставляю данные с высокой частотой.

Ответ №1:

Есть две возможности:

  1. Вы не фиксируете транзакцию вставки сразу. Это было бы ошибкой в вашем приложении.
  2. Ваш запрос выполняется на резервном сервере, и изменения там еще не применены.