On Dec 12, 2006, at 3:37 PM, Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>> Right. Here's the patch I just knocked up, which seems to Just
>> Work (tm) ;-)
>
> The main objection I can see to this is that you'd get a fairly
> unhelpful message if you intended a conninfo string and there was
> anything wrong with your syntax (eg, misspelled keyword). Maybe we
> should go with the conn: bit, although really that doesn't seem any
> less likely to collide with actual dbnames than the "does it contain
> "="" idea. Anyone have other ideas how to disambiguate?
I would personally prefer a real option over a prefix, i.e. --
dbconn="service=foo" though the inline conninfo string in place of
the dbname would be ideal.
Perhaps like Tom suggests, if the value matches a conninfo regex
(slightly more rigid than just containing an equals character) then
we assume it is a conninfo string, but never try it as a dbname. If
someone has a database named like a conninfo string (c'mon folks ;^)
then they would need to pass it as explicitly an argument to '-d' or
'--dbname', not as a bare argument.
This is not completely b/w compatible of course, but IMO the added
convenience outweighs the incompatibility.
-Casey