On Nov 24, 2011, at 9:40 AM, Martijn van Oosterhout wrote:
> On Thu, Nov 24, 2011 at 08:59:56AM +0200, Alexander Shulgin wrote:
>>> How would you specifiy a local port/UNIX domain socket?
>>
>> Missed that in my previous reply.
>>
>> If host part of the URI points to localhost, the UNIX domain socket would be considered by libpq just as if you
wouldpass "-h localhost -p 5433".
>
> Uh, no it doesn't. "-h localhost" uses TCP/IP (try it). This is one
> piece of mysql magic we don't copy. If you want to use the socket you
> need to specify "-h /tmp" or wherever you keep it. Leaving out the -h
> parameter also uses UNIX domain sockets.
>
> Which does raise the valid question of how to represent that in URI
> syntax. SQLAlchemy (for example) doesn't try with it's URL syntax, to
> connect to a non-default UNIX socket, you need to create the URL object
> directly.
>
> How about the "service" option, that's a nice way of handling
> non-default socket options.
Another idea is to use local:/dir/name for UNIX domain socket instead of hostname:port, like it's displayed in the psql
prompt.
--
Alexey Klyukin http://www.commandprompt.com
The PostgreSQL Company – Command Prompt, Inc.