pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Euler Taveira <euler@eulerto.com>
To: hirnstrom@arcor.de
To: pgsql-docs@lists.postgresql.org
Subject: Re: documentation issue: listen_addresses does NOT take a comma-separated list of host names
Date: Mon, 04 Mar 2024 13:53:19 -0300
Message-ID: <732971c0-dfc9-4b4e-ae13-980d1517a498@app.fastmail.com> (raw)
In-Reply-To: <170949386083.644.3898742260684710908@wrigleys.postgresql.org>
References: <170949386083.644.3898742260684710908@wrigleys.postgresql.org>

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 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>

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 into
> postgresql.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


[1] https://www.postgresql.org/docs/current/runtime-config-connection.html


--
Euler Taveira
EDB   https://www.enterprisedb.com/

view thread (2+ messages)

Message-ID: <732971c0-dfc9-4b4e-ae13-980d1517a498@app.fastmail.com>
Permalink:  ../732971c0-dfc9-4b4e-ae13-980d1517a498@app.fastmail.com/
Also on:    postgresql.org/message-id/732971c0-dfc9-4b4e-ae13-980d1517a498@app.fastmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: euler@eulerto.com, hirnstrom@arcor.de, pgsql-docs@lists.postgresql.org
  Subject: Re: documentation issue: listen_addresses does NOT take a comma-separated list of host names
  In-Reply-To: <732971c0-dfc9-4b4e-ae13-980d1517a498@app.fastmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox