Re: pg_ctl strangeness under msys

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Magnus Hagander <mha(at)sollentuna(dot)net>, pgsql-hackers-win32 <pgsql-hackers-win32(at)postgresql(dot)org>
Subject: Re: pg_ctl strangeness under msys
Date: 2004-10-26 15:34:46
Message-ID: 417E6E96.80806@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers-win32

Bruce Momjian wrote:

>Bruce Momjian wrote:
>
>
>>Magnus Hagander wrote:
>>
>>
>>>>I have seen some strange things using pg_ctl under MSys:
>>>>
>>>>. "pg_ctl status" from the command line logs to the event log.
>>>>Apparently it thinks it's not on a tty. Works fine from
>>>>Windows cmd prompt.
>>>>. this hangs: perl -e '@foo=`pg_ctl -w start`;'
>>>> but this doesn't: perl -e 'system("pg_ctl -w start");'
>>>>
>>>>Finding the problem with the last one has cost me hours in
>>>>trying to get the buildfarm to run.
>>>>
>>>>Anyone have ideas about ways to fix? Or do we just note it
>>>>and live with it?
>>>>
>>>>
>>>As I'm sure you are already aware we've had a lot of problems with the
>>>msys console. Buffernig and others. I think we at some point decided to
>>>say that minor issues on the win32 consoles isn't really something we're
>>>concerned about, people will run things from the cmd console in 99.9% of
>>>all cases.
>>>
>>>Not sure how to fix it. The eventlog checking code uses isatty() IIRC,
>>>and that one is clearly returning the wrong thing on msys. Not sure how
>>>to code around that.
>>>
>>>
>>We actually added the ability to turn the psql pager always on to fix a
>>problem with a Win32 user running psql inside some kind of application
>>(emacs?) where isatty returned the wrong value. I don't see any clean
>>workaround here though.
>>
>>
>
>Have you tried:
>
> pg_ctl start 2>/dev/tty
>
>that would force stderr to go to the tty. This might help because the
>pg_ctl.c test is:
>
> if (!isatty(fileno(stderr))) /* Running as a service */
>
>
>

This was about status, not start.

pg_ctl status 2>/dev/tty

gives me the same thing as before. But only if the postmaster isn't
running - if it is running I get the status as expected, because then we
write to stdout rather than calling write_stderr() - I'm not sure I
understand why we do that.

cheers

andrew

In response to

Responses

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Leen Besselink 2004-10-27 16:23:28 pg_autovacuum in 8beta-dev3 small bug
Previous Message Magnus Hagander 2004-10-26 15:07:45 Re: Win32 open items