POLA violation with \c service= - Mailing list pgsql-hackers

From David Fetter
Subject POLA violation with \c service=
Date
Msg-id 20141216211132.GA382@fetter.org
Whole thread Raw
Responses Re: POLA violation with \c service=  (David G Johnston <david.g.johnston@gmail.com>)
Re: POLA violation with \c service=  (Albe Laurenz <laurenz.albe@wien.gv.at>)
List pgsql-hackers
Folks,

I've noticed that psql's  \c function handles service= requests in a
way that I can only characterize as broken.

This came up in the context of connecting to a cloud hosting service
named after warriors or a river or something, whose default hostnames
are long, confusing, and easy to typo, so I suspect that service= may
come up more often going forward than it has until now.

For example, when I try to use

\c "service=foo"

It will correctly figure out which database I'm trying to connect to,
but fail to notice that it's on a different host, port, etc., and
hence fail to connect with a somewhat unhelpful error message.

I can think of a few approaches for fixing this:

0.  Leave it broken.
1.  Disable "service=" requests entirely in \c context, and error out if attempted.
2.  Ensure that \c actually uses all of the available information.

Is there another one I missed?

If not, which of the approaches seems reasonable?

Cheers,
David.
-- 
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@gmail.com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}
Next
From: Simon Riggs
Date:
Subject: Re: Logical Decoding follows timelines