Как настроить TCP_NODELAY для сервера libpq и postgres?

Я пытаюсь убедиться, что TCP_NODELAY установлен (Nagle отключен) для клиента и сервера Postgres. Я вижу, что в libpq есть код для использования опции, когда определен макрос TCP_NODELAY. Я клонировал репозиторий postgres, запустил:

./configure
make CPOT='-DTCP_NODELAY'

и попытался связать получившуюся статическую библиотеку. Это приводит к undefined reference to symbol 'inet_net_ntop@@GLIBC_2.2.5' добавлению -lresolv исправлений, а также к ряду других проблем с неопределенными ссылками. Мне не удалось найти никакой официальной документации по postgres и TCP_NODELAY.

Использует ли сервер libpq и postgres TCP_NODELAY по умолчанию? Или не?

Я на правильном пути выше? Вроде должен быть более простой способ?


person CamW    schedule 11.03.2020    source источник


Ответы (1)


Вы на правильном пути, но правильный путь будет

./configure CPPFLAGS=-DTCP_NODELAY
make
make install

Нет, PostgreSQL не использует TCP_NODELAY по умолчанию.

person Laurenz Albe    schedule 11.03.2020