如何为 libpq 和 postgres 服务器配置 TCP_NODELAY?

How does one configure TCP_NODELAY for libpq and postgres server?

我正在尝试确保为 Postgres 客户端和服务器设置 TCP_NODELAY(禁用 Nagle)。我可以看到 libpq 中有代码可以在定义 TCP_NODELAY 宏时使用该选项。我克隆了 postgres 仓库,运行:

./configure
make CPOT='-DTCP_NODELAY'

并尝试 link 针对生成的静态库。这导致 undefined reference to symbol 'inet_net_ntop@@GLIBC_2.2.5' 添加 -lresolv 修复了该问题,然后还有许多其他未定义的引用问题。我没能在 postgres 和 TCP_NODELAY.

上找到任何官方文档

libpq 和 postgres 服务器默认使用 TCP_NODELAY 吗?还是不行?

我在上面的正确轨道上吗?好像应该有更简单的方法?

你走在正确的轨道上,但正确的方法是

./configure CPPFLAGS=-DTCP_NODELAY
make
make install

不,PostgreSQL 默认不使用 TCP_NODELAY