strange pg_ctl's behavior

Started by Tatsuo Ishiialmost 18 years ago7 messages
#1Tatsuo Ishii
ishii@postgresql.org

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

#2Richard Huxton
dev@archonet.com
In reply to: Tatsuo Ishii (#1)
Re: strange pg_ctl's behavior

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

#3Richard Huxton
dev@archonet.com
In reply to: Richard Huxton (#2)
Re: strange pg_ctl's behavior

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

#4Tatsuo Ishii
ishii@postgresql.org
In reply to: Richard Huxton (#2)
Re: strange pg_ctl's behavior

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

#5Richard Huxton
dev@archonet.com
In reply to: Richard Huxton (#3)
Re: strange pg_ctl's behavior

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

#6Bruce Momjian
bruce@momjian.us
In reply to: Richard Huxton (#5)
Re: strange pg_ctl's behavior

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

#7Tatsuo Ishii
ishii@postgresql.org
In reply to: Bruce Momjian (#6)
Re: strange pg_ctl's behavior

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