Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need some idea about how I can deploy a financial application in production environment using PostgreSQL DB with zero down time. I have two servers in Master-Slave design. Currently I am giving downtime while deploying applications and executing database script. For zero downtime, do we need any configuration or any third party software or PostgreSQL utility which will handle this scenario so that in production real time environment we don't loose any transactions and I also can update database script simultaneously?

share|improve this question
PostgreSQL supports transactional DDL so in theory this is possible, but it depends on how your application locks the tables. – Colin 't Hart Feb 12 '14 at 12:47
@Colin: Could you please elaborate more what i need to check here. – ajkush Feb 12 '14 at 13:18
How do you deploy your application with zero downtime? Applying the DB changes will be different depending on your solution. – dezso Feb 12 '14 at 13:34
During deployment i don't want to turn off my database because of transactions. If i turn off one node for DB changes and second for real Transactions, now both database nodes have some changes and there will be sync issue. I am looking for a solution where i can deploy DB changes and real time transactions too. – ajkush Feb 12 '14 at 13:52
For zero downtime during tables refactoring, we create new tables along with old ones, and switch in small steps:… – A-K Feb 12 '14 at 15:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.