Thread: Single Instance of Backend
I have heard several mentions of the requirements for single postmaster. Is a postmaster 'the backend'? Maybe I could definewhat I think is the current situation first: client1 client2 client3 .... | | | | +-----------+-----------+---------+ | V Postmaster | V OperSys | V Disks Is this correct? Is this because of MVCC? How many other DB's are using MVCC? To make clustering work, and be as redundant as possible, how do the clustering solutions work for: Postgres? Oracle? DB2? Other Real DB's?
On Wed, Jun 18, 2003 at 12:58:45PM -0700, Dennis Gearon wrote: <snip> > To make clustering work, and be as redundant as possible, how do the > clustering solutions work for: > > Postgres? i've integrated clustering support into my own db abstraction in php. the idea behind: evry table has an inode_id (global object id) and a mtime field. my db-layer generates all the queries (the application only sees whole objects and does not speak sql anymore). on object creation a new inode_id is fetched from an sequence, and the mtime is updated on each write operation. from time to time (i.e. once per minute) an poller script runs over the db, fetches all new tuples and posts them to the other nodes. not very performant, but works quite good. cu -- --------------------------------------------------------------------- Enrico Weigelt == metux ITS Webhosting ab 5 EUR/Monat. UUCP, rawIP und vieles mehr. phone: +49 36207 519931 www: http://www.metux.de/ fax: +49 36207 519932 email: contact@metux.de cellphone: +49 174 7066481 smsgate: sms.weigelt@metux.de --------------------------------------------------------------------- Diese Mail wurde mit UUCP versandt. http://www.metux.de/uucp/
No, the postmaster is the "ringleader". When a client requests a connection it spawns a new postgres process. That client will be connected to that postgres process until the client disconnects (or possibly "something bad" (tm) happens). If the max number of connections has been reached then Postmaster will return an error to a client that attempts to connect. The various processes communicate with each other to deal with locks/MVCC and other issues. I have not dug into the guts of how they communicate but it appears to be a combination of shared memory, signals, and possibly sockets. Cheers, Steve On Wednesday 18 June 2003 12:58 pm, Dennis Gearon wrote: > I have heard several mentions of the requirements for single > postmaster. Is a postmaster 'the backend'? Maybe I could define > what I think is the current situation first: > > > client1 client2 client3 .... > > +-----------+-----------+---------+ > > V > Postmaster > > V > OperSys > > V > Disks > > Is this correct?