Thread: how to properly start postgresql with no TCP listeners in ubuntu16.04 LTS
Greetings, This question may simply be my ignorance of what piece of the systemd / systemctl puzzle needs attention. Any clues are appreciated. Using postgreSQL version 9.5 as obtained from ubuntu repo. Install was fine. initdb and subsequent database use is fine. Nothing is out of the ordinary except me being able to alter how postgres starts on boot (eg how postgres is called by init scripts or systemd ). I wish to start postgres on boot with no TCP listeners, only unix-domain sockets. I can achieve this goal by executing the following command as postgres user in a normal terminal session; postgres -D /space/postgres -h '' -c listen_addresses='' Starting the database in this manner results in stdout and stderr from postgres to show up in the terminal and not the default log file, but I can fix that. Stopping the database cleanly when started in the above manner requires user postgres to give 'pg_ctl stop' command in another terminal. Of course I can press ctrl-C in the terminal it was started from, and it dies.. I can also achieve the no TCP socket goal using a pg_ctl command, as postgres in a terminal; pg_ctl start -D /space/postgres -o '-h "" -c listen_addresses=""' where in the pg_ctl command, the single quotes protect the double quotes, which are placeholders for the empty parameter values needing to be passed to the actual postgres command.. I thought I could edit the postgresql.service / postgresql@.service files and use the systemctl method. I have not yet discovered a way to pass the needed options and empty quotes, or any "special character" (special as seen by systemd I guess when reading in postgresql*.service files..) into the startup process. Postgres will start but it's the default install values, and not my needed command line. Seems like there ought to be a way to do what I need. I just haven't found it yet. Suggestions on what systemctl magic fruits or other system startup tool needs attention are most welcome. Thanks in advance, alex
Re: how to properly start postgresql with no TCP listeners in ubuntu16.04 LTS
From
Stephen Frost
Date:
Greetings, * Alex Morris (alex.morris@twelvemountain.com) wrote: > This question may simply be my ignorance of what piece of the systemd / > systemctl puzzle needs attention. Any clues are appreciated. The simplest approach is to just modify the postgresql.conf file in /etc/postgresql/9.5/main to update listen_addresses to be ''. Thanks! Stephen
Attachment
Re: how to properly start postgresql with no TCP listeners in ubuntu16.04 LTS
From
Alex Morris
Date:
On 1/23/19 19:15, Stephen Frost wrote: > Greetings, > > * Alex Morris (alex.morris@twelvemountain.com) wrote: >> This question may simply be my ignorance of what piece of the systemd / >> systemctl puzzle needs attention. Any clues are appreciated. > > The simplest approach is to just modify the postgresql.conf file in > /etc/postgresql/9.5/main to update listen_addresses to be ''. > > Thanks! > > Stephen > Thanks for the fast reply. I had tried that earlier with no luck. But it's working properly now. I must have misspelled listener_addresses or used incorrect quote marks. My issue is resolved. Joy! Thanks very much, Stephen!
On 1/23/19 8:41 PM, Alex Morris wrote: > On 1/23/19 19:15, Stephen Frost wrote: >> Greetings, >> >> * Alex Morris (alex.morris@twelvemountain.com) wrote: >>> This question may simply be my ignorance of what piece of the systemd / >>> systemctl puzzle needs attention. Any clues are appreciated. >> >> The simplest approach is to just modify the postgresql.conf file in >> /etc/postgresql/9.5/main to update listen_addresses to be ''. >> >> Thanks! >> >> Stephen >> > > Thanks for the fast reply. I had tried that earlier with no luck. But > it's working properly now. I must have misspelled listener_addresses or > used incorrect quote marks. My issue is resolved. Joy! Note that Postgres has a repository for Ubuntu. From there, you can install 9.6, 10 and 11. https://www.postgresql.org/download/linux/ubuntu/ -- Angular momentum makes the world go 'round.