Изучая производительность базы данных на наших задачах был удивлен, что тормозит сеть. Сделал простой тест, дабы убедиться.
PQexec(conn, "NOTIFY a");
PQexec(conn, "begin;NOTIFY a;commit");
Что первый, что второй вариант, выдают порядка 15000 раз в секунду. Но, если разбить вторую строчку на три запроса:
PQexec(conn, "begin");
PQexec(conn, "NOTIFY a");
PQexec(conn, "commit");
Как я понял, никакого способа общаться с PostgreSQL-сервером кроме как через сокет нет. Или все-таки есть?
Может, как-то можно затюнить сам юникс сокет?
Вариант объеденять запросы в один не подходит(придется править odbc-драйвер и кучу нашего кода).