On Sun, 2006-02-19 at 10:00 -0500, Mark Woodward wrote: > > On Fri, Feb 03, 2006 at 08:05:48AM -0500, Mark Woodward wrote: > >> Like I said, in this thread of posts, yes there are ways of doing this, > >> and I've been doing it for years. It is just one of the rough eges that > >> I > >> think could be smoother. > >> > >> (in php) > >> pg_connect("dbname=geo host=dbserver"); > >> > >> Could connect and query the dbserver, if the db is not on it, connect to > >> a > >> database of known servers, find geo, and use that information to > >> connect. > >> It sounds like a simple thing, for sure, but to be useful, there needs > >> to > >> be buy in from the group otherwise it is just some esoteric hack. > > > > It turns out what you like actually exists, lookup the "service" > > parameter in the connectdb string. It will read the values for the > > server, port, etc from a pg_service.conf file. > > > > There is an example in the tree but it looks something like the following: > > > > [servicename] > > dbname=blah > > user=blah > > pass=blah > > > > So all you need to specify is "service=servicename" and it will grab > > the parameters. This allows you to change the connection without > > changeing the code. > > > > This is a great feature!!
Yes, it is, but there is a distinct difference between what you asked for and what have been described as solutions (good though they are). Both services and pg_service.conf are client-side solutions. So if you have 20,000 clients to worry about you have some problems. What was proposed was a central naming service (described as a database of known servers) that would allow a server-side name to service mapping. A server-side (i.e. centrally managed) name server seems like an improvement over the client-side solutions described, IMHO, but I'd leave it to others to describe how that might work. (e.g. DNS is a better solution than multiple distributed /etc/hosts files). Best Regards, Simon Riggs ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend