Re: Re: unixODBC again :-( - Mailing list pgsql-hackers

From Nick Gorham
Subject Re: Re: unixODBC again :-(
Date
Msg-id 3A6F5940.5E4F9199@lurcher.org
Whole thread Raw
In response to Re: Re: unixODBC again :-(  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
peter_e@gmx.net wrote:

> Nick Gorham writes:
>
> > Well because the driver does not know where to get the config info
> > from,
>
> Then the driver should be fixed to do that, with or without unixODBC.

Well yes, but again, using the Windows situation as a model (not that
I would normally suggest windows as a role model for anything), its not the
drivers job to know or care where the info comes from, that the job of the
(a) driver manager.

> > libodbcinst.so in unixODBC provides SQLGetPrivateProfileString,
> > the location of user and system ini files are defined by this lib, if
> > it doesn't do this you may have the situation where the driver manager
> > gets information from one ini file and the driver from a different
> > one.
>
> --with-odbcinst=DIRECTORY

Yes but there are two places, the user ~/.odbc.ini directory, and the
system /sysconfdir/odbc.ini.

using the odbcinst lib, means all drivers can use the same info store, and
you can just install a binary driver without having to set any
configuration.

> > > > Add the option to detect a
> > > > server name of localhost, and open the unix domain socket,
> > >
> > > I don't think so.  localhost is a valid host name.
> >
> > Ok, but don't you think it is worth having some way to get it to use
> > UNIX domain sockets instead of TCP ones, for instance if postmaster
> > isn't started with a -i ?
>
> Yes, that would be okay, but it's not okay to eliminate a feature to add
> another one.

I would agree with that, I just did it the way I did as it fitted what some
users needed. Not sure how many people would have a network setup with
localhost set in dns to point to another machine, Though I agree there is
no reason why you couldn't do it.

> > > We have a general approach to non-standard socket names now.
> >
> > Great, thats a non problem then, what do you do ?
>
> Pick up DEFAULT_PGSOCKET_DIR from config.h.

Thats ok, but if I was to keep a driver in unixODBC distrib, I would have
to have a --postgres-socket= option in the config, same problem with
odbcinst but in reverse. Maybe no simple answer to that one.

All I do at the moment, is have the driver try the two places it knows
about, maybe it should be in the ini file, perhaps if the socket_location
is set it would connect via that. It would fix the problem with using
localhost to switch the connection method.

--
Nick Gorham
When I die, I want to go like my grandfather did, gently while sleeping,
and not like his passangers, screaming in a panic, looking for the
inflatable raft. -- Seen on ./




pgsql-hackers by date:

Previous
From: "Rod Taylor"
Date:
Subject: pg_dump -c database problem
Next
From: Nick Gorham
Date:
Subject: Re: Re: unixODBC again :-(