psql \c error - Mailing list pgsql-hackers

From Philip Yarra
Subject psql \c error
Date
Msg-id 200603301120.09969.philip@utiba.com
Whole thread Raw
Responses Re: psql \c error
Re: psql \c error
List pgsql-hackers
Hi folks, I've found that CVS HEAD psql's \c doesn't quite behave as expected 
when postmaster is listening on non-default port. In this case I have 
postmaster listening on port 5434:

[pyarra@punky pgsql]$ /usr/local/pgsql-cvs-head/bin/psql -p5434 -dpyarra
Welcome to psql 8.2devel, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms      \h for help with SQL commands      \? for help with psql commands      \g
orterminate with semicolon to execute query      \q to quit
 

pyarra=# \d
No relations found. (correct, nothing in DB 'pyarra')
pyarra=# \l      List of databases  Name    | Owner  | Encoding
-----------+--------+----------postgres  | pyarra | LATIN1pyarra    | pyarra | LATIN1spctest   | pyarra |
LATIN1template0| pyarra | LATIN1template1 | pyarra | LATIN1
 
(5 rows)

pyarra=# \c spctest
could not connect to server: No such file or directory       Is the server running locally and accepting
connectionson Unix domain socket "/tmp/.s.PGSQL.5432"?
 
Previous connection kept
pyarra=# \c spctest - - 5434
You are now connected to database "spctest" as user "pyarra" on host "(null)" 
at port 5434.
could not connect to server: No such file or directory       Is the server running locally and accepting
connectionson Unix domain socket "/tmp/.s.PGSQL.5432"?
 
Previous connection kept
could not connect to server: No such file or directory       Is the server running locally and accepting
connectionson Unix domain socket "/tmp/.s.PGSQL.5432"?
 
Previous connection kept
spctest=# \d      List of relationsSchema | Name | Type  | Owner
--------+------+-------+--------public | foo  | table | pyarra
(1 row)
(correct, one table in DB 'spctest')

The comments in src/bin/psql/command.c, starting at line 192, indicate the new 
connection should use the current port (5434) but this is not happening. Also 
note that when port is explicitly specified (\c spctest - - 5434) it does 
connect to the new DB on the right port, but still prints a spurious error.

The comments further down say "default" instead of "current" when the dash is 
used, so the comments may not be quite right. What behaviour was this change 
(http://archives.postgresql.org/pgsql-patches/2006-03/msg00154.php) actually 
supposed to give us?

Regards, Philip.

-- 

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan

-----------------
Utiba Pty Ltd 
This message has been scanned for viruses and
dangerous content by Utiba mail server and is 
believed to be clean.



pgsql-hackers by date:

Previous
From: Philip Yarra
Date:
Subject: Re: Tablespaces oddity?
Next
From: Andrew Dunstan
Date:
Subject: Re: Win32 sysconfig -> pg_service.conf