我想限制PostgreSQL为客户端连接分配的端口。
我的意思是让服务器侦听5432,当连接进入时,它会为该连接分配一个端口,当前在我的本地测试服务器上的示例有61943、61949、61951、61952、61957等。
在生产服务器中,这些客户端端口大约在30000左右,这是一个问题,因为我们有一些服务在这些端口上运行,有时候,在我们的服务有机会启动之前,随机客户端连接会窃取端口。
我应该如何配置PostgreSQL的客户端端口?
我想限制PostgreSQL为客户端连接分配的端口。
我的意思是让服务器侦听5432,当连接进入时,它会为该连接分配一个端口,当前在我的本地测试服务器上的示例有61943、61949、61951、61952、61957等。
在生产服务器中,这些客户端端口大约在30000左右,这是一个问题,因为我们有一些服务在这些端口上运行,有时候,在我们的服务有机会启动之前,随机客户端连接会窃取端口。
我应该如何配置PostgreSQL的客户端端口?
1条答案
按热度按时间sirbozc51#
PostgreSQL没有办法改变这一点,这取决于操作系统。
如果使用的是unix系统,你可以告诉系统不要在你的应用程序范围内保留端口,方法是这样(x和y是端口号):
sysctl -w net.ipv4.ip_local_port_range="x y"
使用您喜欢的文本编辑器编辑
/etc/sysctl.conf
并添加net.ipv4.ip_local_port_range = x y
然后重新加载文件,执行
sysctl -p
这不会终止旧端口上正在进行的连接,因此建议重新启动。