Hi, John, The change will be on the libpq client side. I am not saying this is a general solution for the distributed transaction/scale out. However, in many cases, it is very useful. For example, in my case, I have about 100 departments each has it own database. The balance machine can just redirect to the right box according to database/user. The 4 boxes I have may not even get domain name or static IP. Another scenario, if I have some kind of replication set up, I can send transaction processing to master and analytic reporting query to slaves.
Thanks, Feng feng tian wrote: Hi, I want to load balance a postgres server on 4 physical machines, say 127.0.0.11-14. I can set up a pgbouncer on 127.0.0.10 and connection pooling to my four boxes. However, the traffic from/to clients will go through an extra hop. Another way to do this, is to send the client an "redirect" message. When client connect to 127.0.0.10, instead of accepting the connection, it can reply to client telling it to reconnect to one of the server on 127.0.0.11-14. I am planning to write/submit a patch to do that. I wonder if there is similar effort in extending libpq protocol, or, if you have better ideas on how to achieve this. how do you plan on maintaining consistency, transactional integrity and atomicity of updates across these 4 machines? _________________________________________________________________ The New Busy is not the too busy. Combine all your e-mail accounts with Hotmail. http://www.windowslive.com/campaign/thenewbusy?tile=multiaccount&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_4