psql \c error

From: Philip Yarra <philip(at)utiba(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: psql \c error
Date: 2006-03-30 01:20:09
Message-ID: 200603301120.09969.philip@utiba.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)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 or terminate 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 | LATIN1
pyarra | pyarra | LATIN1
spctest | pyarra | LATIN1
template0 | pyarra | LATIN1
template1 | pyarra | LATIN1
(5 rows)

pyarra=# \c spctest
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on 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
connections on 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
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Previous connection kept
spctest=# \d
List of relations
Schema | 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.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2006-03-30 01:45:08 Re: Win32 sysconfig -> pg_service.conf
Previous Message Philip Yarra 2006-03-30 00:52:04 Re: Tablespaces oddity?