Re: Adding Rendezvous support to postmaster - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: Adding Rendezvous support to postmaster |
Date | |
Msg-id | 200305260501.h4Q517m11991@candle.pha.pa.us Whole thread Raw |
In response to | Adding Rendezvous support to postmaster (Chris Campbell <chris@bignerdranch.com>) |
Responses |
Re: Adding Rendezvous support to postmaster
Re: Adding Rendezvous support to postmaster |
List | pgsql-patches |
I will apply this patch soon, and add a configure test looking for: #include <DNSServiceDiscovery/DNSServiceDiscovery.h> You reference that in your code, so it seems a logical way to set HAVE_RENDEZVOUS. --------------------------------------------------------------------------- Chris Campbell wrote: > The attached diffs add Rendezvous support to postmaster when it's > running on Darwin (Mac OS X). > > Rendezvous allows services (such as a database server) to advertise > their availability to other hosts on their link-local network, and > client programs to browse the services on the network to see what's > available. It is Apple's implementation of ZEROCONF. > > http://developer.apple.com/macosx/rendezvous/ > > This allows client programs running on computers that are on the same > link-local network as the postgresql server to automatically find the > server's IP address and port number. This adds great ease-of-use for > end users. > > I propose adding a configuration variable to postgresql.conf called > "service_name" that allows the user to specify the name used to > advertise the database service. If this variable isn't defined in the > postgresql.conf file, then no service is advertised. If it is '', then > the computer's "Rendezvous Name" is used (this is similar to the > hostname, see the link below for more info). Otherwise, if it's a > non-empty string, that string is used as the name of the service. > > http://developer.apple.com/qa/qa2001/qa1228.html > > If there's already a service on the network with that name, then the > service registration silently fails and no service is registered. > > Rendezvous also has the notion of a service type string. It's a bit > like a domain name: I suggest we use "_pgsql._tcp." (another example > would be "_ftp._tcp."). > > There's very little code involved: just 1 function call in > PostmasterMain() after postmaster has started listening on a TCP > socket. And 1 addition to the GUC list of configuration variables. > > All the code is #ifdef'ed inside HAVE_RENDEZVOUS, which is only defined > in src/include/port/darwin.h. Even once we know the OS is darwin, we > still need to check to make sure that Rendezvous is available, either > by OS version, or by checking for the existence of a needed header > file, etc. > > I've included patches for CVS top-of-tree and postgresql-7.3.2. > > Thanks! > > - Chris > [ Attachment, skipping... ] [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
pgsql-patches by date: