Thread: BUG #7631: tcp_keepalives_* parameters ignored in postgresql.conf - related to 9.0.10 or 9.0.9 patch?
BUG #7631: tcp_keepalives_* parameters ignored in postgresql.conf - related to 9.0.10 or 9.0.9 patch?
From
robj@hightouchinc.com
Date:
The following bug has been logged on the website: Bug reference: 7631 Logged by: Rob Johnson Email address: robj@hightouchinc.com PostgreSQL version: 9.0.10 Operating system: RHEL 5.8 Description: = The last four lines in my postgresql.conf file, under /var/lib/pgsql/9.0/data, are: # (15 per hour * 6 hours =3D 90) tcp_keepalives_count=3D90 tcp_keepalives_idle=3D240 tcp_keepalives_interval=3D240 I last changed this file on August 13th, 2012. I remember that when I added these parameters to postgresql.conf, they showed the correct values when I ran "show all" at the psql command line. However, they now all display 0 values. I ran "show all" and included some of the output below. The config_file parameter shows that when the instance started, it used the postgresql.conf file that includes my tcp_keepalives_* parameters. The "max_connections" parameter is 600, which I also have defined in that postgresql.conf file, so I know that at least *some* non-default parameter values are processed properly. I *suspect* this problem was created by the 9.0.10 or 9.0.9 patch, because I was running 9.0.8 when I changed the tcp_keepalives_* parameters, but that's just an uninformed guess. (I updated my postgresql* packages from the PGDG repository to 9.0.9 on August 20th, and to 9.0.10 on September 25th.) postgres=3D# show all; name | setting | description ---------------------------------+-----------------------------------------= +--------------------------------------------------------------------------= ------- ---------------------------------------------- ... config_file | /var/lib/pgsql/9.0/data/postgresql.conf | Sets the server's main configuration file. ... max_connections | 600 | Sets the maximum number of concurrent connections. ... tcp_keepalives_count | 0 | Maximum number of TCP keepalive retransmits. tcp_keepalives_idle | 0 | Time between issuing TCP keepalives. tcp_keepalives_interval | 0 | Time between TCP keepalive retransmits. ... (208 rows)
Re: BUG #7631: tcp_keepalives_* parameters ignored in postgresql.conf - related to 9.0.10 or 9.0.9 patch?
From
Tom Lane
Date:
robj@hightouchinc.com writes: > The last four lines in my postgresql.conf file, under > /var/lib/pgsql/9.0/data, are: > # (15 per hour * 6 hours = 90) > tcp_keepalives_count=90 > tcp_keepalives_idle=240 > tcp_keepalives_interval=240 > I last changed this file on August 13th, 2012. I remember that when I added > these parameters to postgresql.conf, they showed the correct values when I > ran "show all" at the psql command line. However, they now all display 0 > values. I believe those will read as zero in a session connected over a Unix socket. Try it in a session connected over TCP ... regards, tom lane
Re: BUG #7631: tcp_keepalives_* parameters ignored in postgresql.conf - related to 9.0.10 or 9.0.9 patch?
From
Tom Lane
Date:
Rob Johnson <robj@hightouchinc.com> writes: >> I believe those will read as zero in a session connected over a Unix >> socket. Try it in a session connected over TCP ... > You are correct. In a TCP session, I see the values that were set in postgresql.conf. OK. It doesn't look like this behavior is actually documented. I'll go fix that. regards, tom lane
Re: BUG #7631: tcp_keepalives_* parameters ignored in postgresql.conf - related to 9.0.10 or 9.0.9 patch?
From
Rob Johnson
Date:
>=20 > robj@hightouchinc.com writes: > > The last four lines in my postgresql.conf file, under > > /var/lib/pgsql/9.0/data, are: >=20 > > # (15 per hour * 6 hours =3D 90) > > tcp_keepalives_count=3D90 > > tcp_keepalives_idle=3D240 > > tcp_keepalives_interval=3D240 >=20 > > I last changed this file on August 13th, 2012. I remember that when > I added > > these parameters to postgresql.conf, they showed the correct values > when I > > ran "show all" at the psql command line. However, they now all > display 0 > > values. >=20 > I believe those will read as zero in a session connected over a Unix > socket. Try it in a session connected over TCP ... >=20 > regards, tom lane You are correct. In a TCP session, I see the values that were set in postg= resql.conf. Thank you for the quick answer. "This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation."