Обсуждение: documentation issue: listen_addresses does NOT take a comma-separated list of host names
documentation issue: listen_addresses does NOT take a comma-separated list of host names
От
PG Doc comments form
Дата:
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/14/runtime-config-connection.html Description: In the documentation, I read: <quote> 20.3.1. Connection Settings listen_addresses (string) Specifies the TCP/IP address(es) on which the server is to listen for connections from client applications. The value takes the form of a comma-separated list of host names and/or numeric IP addresses. (...) </quote> I tried different versions of names and IPs, quoted in single, double and no quotes at all, comma separated between quotes and inside, like <quote> listen_addresses = '192.168.32.3','127.0.0.1' # or listen_addresses = '192.168.32.3,127.0.0.1' </quote> but `sudo journalctl -eb -u postgresql@14-main.service -o cat` gives me: <quote> Reloading PostgreSQL Cluster 14-main... Error: invalid line 61 in /etc/postgresql/14/main/postgresql.conf: listen_addresses = "192.168.32.3","127.0.0.1" postgresql@14-main.service: Control process exited, code=exited, status=1/FAILURE Reload failed for PostgreSQL Cluster 14-main. Reloading PostgreSQL Cluster 14-main... Error: invalid line 61 in /etc/postgresql/14/main/postgresql.conf: listen_addresses = "192.168.32.3,127.0.0.1" postgresql@14-main.service: Control process exited, code=exited, status=1/FAILURE Reload failed for PostgreSQL Cluster 14-main. Reloading PostgreSQL Cluster 14-main... Error: invalid line 61 in /etc/postgresql/14/main/postgresql.conf: listen_addresses = '192.168.32.3','127.0.0.1' postgresql@14-main.service: Control process exited, code=exited, status=1/FAILURE Reload failed for PostgreSQL Cluster 14-main. </quote> So I tried to follow the otherwise seen pattern and wrote into postgresql.conf: <quote> listen_addresses = '192.168.32.3' listen_addresses = '127.0.0.1' </quote> which worked. Note, that in the file itself, the comment repeats the (imho) misinformation. <quote> #listen_addresses = 'localhost' # what IP address(es) to listen on; # comma-separated list of addresses; </quote>
Re: documentation issue: listen_addresses does NOT take a comma-separated list of host names
От
"Euler Taveira"
Дата:
On Sun, Mar 3, 2024, at 4:24 PM, PG Doc comments form wrote:
listen_addresses (string)Specifies the TCP/IP address(es) on which the server is to listen forconnections from client applications. The value takes the form of acomma-separated list of host names and/or numeric IP addresses. (...)</quote>I tried different versions of names and IPs, quoted in single, double and noquotes at all, comma separated between quotes and inside, like<quote>listen_addresses = '192.168.32.3','127.0.0.1'# orlisten_addresses = '192.168.32.3,127.0.0.1'</quote>
Any parameter that has a string type are enclosed in single quotes [1]. Hence,
a list of addresses consists of
listen_addresses = 'W, X, Y, Z'
but `sudo journalctl -eb -u postgresql@14-main.service -o cat`gives me:<quote>Reloading PostgreSQL Cluster 14-main...Error: invalid line 61 in /etc/postgresql/14/main/postgresql.conf:listen_addresses = "192.168.32.3","127.0.0.1"postgresql@14-main.service: Control process exited, code=exited,status=1/FAILURE
You use double quotes for each individual address.
Reload failed for PostgreSQL Cluster 14-main.Reloading PostgreSQL Cluster 14-main...Error: invalid line 61 in /etc/postgresql/14/main/postgresql.conf:listen_addresses = "192.168.32.3,127.0.0.1"postgresql@14-main.service: Control process exited, code=exited,status=1/FAILURE
You are using double quotes. It would work if you just replaced it with single
quotes.
Reload failed for PostgreSQL Cluster 14-main.Reloading PostgreSQL Cluster 14-main...Error: invalid line 61 in /etc/postgresql/14/main/postgresql.conf:listen_addresses = '192.168.32.3','127.0.0.1'postgresql@14-main.service: Control process exited, code=exited,status=1/FAILURE
Again, you are using multiple strings separated by comma instead of just
one string.
Reload failed for PostgreSQL Cluster 14-main.</quote>So I tried to follow the otherwise seen pattern and wrote intopostgresql.conf:<quote>listen_addresses = '192.168.32.3'listen_addresses = '127.0.0.1'</quote>which worked.
It worked but it is just listening to 127.0.0.1.
$ tail -n 2 $PGDATA/postgresql.conf
listen_addresses = '192.168.32.3'
listen_addresses = '127.0.0.1'
$ pg_ctl start
waiting for server to start....2024-03-04 13:50:37.167 -03 [16738] LOG: redirecting log output to logging collector process
2024-03-04 13:50:37.167 -03 [16738] HINT: Future log output will appear in directory "log".
done
server started
$ postgres -C listen_addresses
127.0.0.1