On 10/17/2013 12:32 PM, Joseph Mays wrote:
We are assisting in the system administration of a partner that uses PostGres in a mission critical position in their system. They have mail servers and other things that rely on 24/7 availability for the postgres server. They are running postgres 9.04 on redhat linux (2.6.32-131.0.15.el6.x86_64). This is running on one old machine, and thus does not really provide the liability they looking for. I had the thought that I could set up another server as a slave, then promote the slave in the event it’s necessary. I was trying I made a system that watches for a change in the IP number number of the server in dns, then downs the primary, swaps primary-secondary configs in the primary, restarts the primary, then does the same in the secondary. This actually worked on the first test from failing the primary to the secondary. The problem came when I stried to switch it back. When I tried to restart the original primary as secondary, it failed saying the database was corrupted.
This is completely possible if configured correctly, we do this all the time for customers.
There are a couple of possible solutions to this, but I’m starting to think that what they probably really want anyway is a Postgres server cluster of two servers that stay in synch with each other, and can simultaneously accept read and write requests. Are there any opinions here about the best way to set this up?
There is no "good" way to do this. There are some application specific ways but it depends on their needs.
Joshua D. Drake -- Command Prompt, Inc. - http://www.commandprompt.com/ 509-416-6579 PostgreSQL Support, Training, Professional Services and Development High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc For my dreams of your image that blossoms a rose in the deeps of my heart. - W.B. Yeats -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin