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

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

From
"Hal Black"
Date:
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)

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

From
Steve Clark
Date:
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 ...

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

From
"Hal Black"
Date:
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:

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

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

From
Tom Lane
Date:
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