Обсуждение: strange pg_ctl's behavior
Hi, I have encountered a strange pg_ctl's behavior in 8.3. pg_ctl -w -o "-p 5432" start <-- works pg_ctl -w -o "-i" start <-- works pg_ctl -w -o "-p 5432 -i" start <-- doesn't work In the last case, even postmaster starts successfully, pg_ctl keeps trying to make sure that postmaster actually started and continues to print "...". I now that "-i" is obsoleted, but I think it does not explain well why pg_ctl behaves like this. -- Tatsuo Ishii SRA OSS, Inc. Japan
Tatsuo Ishii wrote: > Hi, > > I have encountered a strange pg_ctl's behavior in 8.3. > > pg_ctl -w -o "-p 5432" start <-- works > pg_ctl -w -o "-i" start <-- works > pg_ctl -w -o "-p 5432 -i" start <-- doesn't work > > In the last case, even postmaster starts successfully, pg_ctl keeps > trying to make sure that postmaster actually started and continues to > print "...". It's not getting confused and thinking the port is "5432 -i" is it? I tried "-i -p 5432" and that seemed to work. -- Richard Huxton Archonet Ltd
Richard Huxton wrote: > Tatsuo Ishii wrote: >> Hi, >> >> I have encountered a strange pg_ctl's behavior in 8.3. >> >> pg_ctl -w -o "-p 5432" start <-- works >> pg_ctl -w -o "-i" start <-- works >> pg_ctl -w -o "-p 5432 -i" start <-- doesn't work >> >> In the last case, even postmaster starts successfully, pg_ctl keeps >> trying to make sure that postmaster actually started and continues to >> print "...". > > It's not getting confused and thinking the port is "5432 -i" is it? I > tried "-i -p 5432" and that seemed to work. Hmm - that does seem to be the case. I added a line to print "connstr" along with the "." waiting for server to start....dbname=postgres port=5483 -i connect_timeout=5. The code looks fine to my uneducated eye though (bin/pg_ctl/pg_ctl.c test_postmaster_connection starting at line 412. I think the issue must be at lines 425..443) -- Richard Huxton Archonet Ltd
> Tatsuo Ishii wrote: > > Hi, > > > > I have encountered a strange pg_ctl's behavior in 8.3. > > > > pg_ctl -w -o "-p 5432" start <-- works > > pg_ctl -w -o "-i" start <-- works > > pg_ctl -w -o "-p 5432 -i" start <-- doesn't work > > > > In the last case, even postmaster starts successfully, pg_ctl keeps > > trying to make sure that postmaster actually started and continues to > > print "...". > > It's not getting confused and thinking the port is "5432 -i" is it? I > tried "-i -p 5432" and that seemed to work. Thanks for the hint. I confirmed that: pg_ctl -w -o "-p 5432 '-i'" also worked. If my memory is correct, pg_ctl -w -o "-p 5432 -i" worked fine on 8.2 or 8.1 or before. -- Tatsuo Ishii SRA OSS, Inc. Japan
Richard Huxton wrote: > > Hmm - that does seem to be the case. I added a line to print "connstr" > along with the "." > waiting for server to start....dbname=postgres port=5483 -i > connect_timeout=5. > > The code looks fine to my uneducated eye though (bin/pg_ctl/pg_ctl.c > test_postmaster_connection starting at line 412. I think the issue must > be at lines 425..443) Line 52: #define WHITESPACE "\f\n\r\t\v" /* as defined by isspace() */ We've defined whitespace as not including a space character :-/ -- Richard Huxton Archonet Ltd
Richard Huxton wrote: > Richard Huxton wrote: > > > > Hmm - that does seem to be the case. I added a line to print "connstr" > > along with the "." > > waiting for server to start....dbname=postgres port=5483 -i > > connect_timeout=5. > > > > The code looks fine to my uneducated eye though (bin/pg_ctl/pg_ctl.c > > test_postmaster_connection starting at line 412. I think the issue must > > be at lines 425..443) > > Line 52: > #define WHITESPACE "\f\n\r\t\v" /* as defined by isspace() */ > > We've defined whitespace as not including a space character :-/ Yes, we fixed this on February 20 and the fix will appear in 8.3.1 and all back brances once a release is made. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://postgres.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
> > Line 52: > > #define WHITESPACE "\f\n\r\t\v" /* as defined by isspace() */ > > > > We've defined whitespace as not including a space character :-/ > > Yes, we fixed this on February 20 and the fix will appear in 8.3.1 and > all back brances once a release is made. Thanks. I should have checked the CVS tips. -- Tatsuo Ishii SRA OSS, Inc. Japan