BUG #4435: pg_ctl start doesn't detach when run via SSH

Started by Hal Blackover 17 years ago4 messagesbugs
Jump to latest
#1Hal Black
black@ieee.org

The following bug has been logged online:

Bug reference: 4435
Logged by: Hal Black
Email address: black@ieee.org
PostgreSQL version: 8.3.3
Operating system: Ubuntu Hardy 8.04.1 LTS
Description: pg_ctl start doesn't detach when run via SSH
Details:

When I run "pg_ctl start" via SSH, the database service starts, but it never
returns control to the shell. If I run the same command from an interactive
shell, it works as expected.

This is with or without the -w option. Here's an example commandline.

ssh root@example.com "su -c '/home/appuser/local/bin/pg_ctl start -w -s -D
/home/appuser/postgresql_data' postgres"

This problem exists both when installed from source and when using the
postgresql installed via the debian package manager (of course using a
different path to the pg_ctl binary)

#2Steve Clark
sclark@netwolves.com
In reply to: Hal Black (#1)
Re: BUG #4435: pg_ctl start doesn't detach when run via SSH

Hal Black wrote:

The following bug has been logged online:

Bug reference: 4435
Logged by: Hal Black
Email address: black@ieee.org
PostgreSQL version: 8.3.3
Operating system: Ubuntu Hardy 8.04.1 LTS
Description: pg_ctl start doesn't detach when run via SSH
Details:

When I run "pg_ctl start" via SSH, the database service starts, but it never
returns control to the shell. If I run the same command from an interactive
shell, it works as expected.

This is with or without the -w option. Here's an example commandline.

ssh root@example.com "su -c '/home/appuser/local/bin/pg_ctl start -w -s -D
/home/appuser/postgresql_data' postgres"

This problem exists both when installed from source and when using the
postgresql installed via the debian package manager (of course using a
different path to the pg_ctl binary)

try using ssh -t ...

#3Hal Black
black@ieee.org
In reply to: Steve Clark (#2)
Re: BUG #4435: pg_ctl start doesn't detach when run via SSH

That works, but interestingly, I still get a SIGHUP reload sometimes:
LOG: received SIGHUP, reloading configuration files

On Tue, Sep 23, 2008 at 1:54 PM, Steve Clark <sclark@netwolves.com> wrote:

Show quoted text

Hal Black wrote:

The following bug has been logged online:

Bug reference: 4435
Logged by: Hal Black
Email address: black@ieee.org
PostgreSQL version: 8.3.3
Operating system: Ubuntu Hardy 8.04.1 LTS
Description: pg_ctl start doesn't detach when run via SSH
Details:
When I run "pg_ctl start" via SSH, the database service starts, but it
never
returns control to the shell. If I run the same command from an
interactive
shell, it works as expected.

This is with or without the -w option. Here's an example commandline.

ssh root@example.com "su -c '/home/appuser/local/bin/pg_ctl start -w -s
-D
/home/appuser/postgresql_data' postgres"

This problem exists both when installed from source and when using the
postgresql installed via the debian package manager (of course using a
different path to the pg_ctl binary)

try using ssh -t ...

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Steve Clark (#2)
Re: BUG #4435: pg_ctl start doesn't detach when run via SSH

Steve Clark <sclark@netwolves.com> writes:

Hal Black wrote:

When I run "pg_ctl start" via SSH, the database service starts, but it never
returns control to the shell. If I run the same command from an interactive
shell, it works as expected.

This is with or without the -w option. Here's an example commandline.

ssh root@example.com "su -c '/home/appuser/local/bin/pg_ctl start -w -s -D
/home/appuser/postgresql_data' postgres"

try using ssh -t ...

Actually I suspect the main problem is having failed to redirect the
postmaster's stdout/stderr away from the terminal. Consider using
pg_ctl's "-l logfile" option.

Another point is that su's -l option might be a good idea. I'm
unconvinced that you're setting up a desirable environment for the
postmaster here --- it's going to be mostly root's environment.

regards, tom lane