{"id":3318,"date":"2011-08-17T15:52:08","date_gmt":"2011-08-17T23:52:08","guid":{"rendered":"http:\/\/www.chesnok.com\/daily\/?p=3318"},"modified":"2012-03-28T03:43:28","modified_gmt":"2012-03-28T11:43:28","slug":"high-availability-and-postgres","status":"publish","type":"post","link":"https:\/\/www.chesnok.com\/daily\/2011\/08\/17\/high-availability-and-postgres\/","title":{"rendered":"High availability and Postgres"},"content":{"rendered":"<p>A friend contacted me today, asking me &#8220;What are the best practices for failover with Postgres?&#8221;  And he mentioned pgpool-II.<\/p>\n<p>He was interested in 9.0, since 9.1 hasn&#8217;t been released yet. (but, it&#8217;s looking like we&#8217;re <a href=\"https:\/\/twitter.com\/net_snow\/status\/103949707700731905\">gearing up for a September release<\/a>!)<br \/>\n<!--more--><br \/>\nMy off-the-cuff response was: <\/p>\n<blockquote><p>\nThere isn&#8217;t a single solution, although <a href=\"http:\/\/pgpool.projects.postgresql.org\/\">pgpool-II<\/a> is a common one.<\/p>\n<p>pgpool-II is what I&#8217;ve used in AWS. I&#8217;ve also seen people use heartbeat (I guess <a href=\"http:\/\/linux-ha.org\/wiki\/Pacemaker\">pacemaker<\/a> now?). I think either works fine. The frustrating bit is that we don&#8217;t have the ability to refresh the failed system easily. <\/p>\n<p>There&#8217;s also repmgr: <a href=\"https:\/\/github.com\/greg2ndQuadrant\/repmgr\">https:\/\/github.com\/greg2ndQuadrant\/repmgr<\/a><\/p>\n<p>It&#8217;s new, but might be worth exploring.\n<\/p><\/blockquote>\n<p>I started an <a href=\"http:\/\/wiki.postgresql.org\/wiki\/High_Availability\">High Availability<\/a> page on the PostgreSQL wiki.  We really need a canonical source of information for this. Devs are struggling to figure it out <a href=\"http:\/\/www.postgresql.org\/docs\/current\/static\/high-availability.html\">from our docs<\/a>.<\/p>\n<p>What are you doing for HA and Postgres?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A friend contacted me today, asking me &#8220;What are the best practices for failover with Postgres?&#8221; And he mentioned pgpool-II. He was interested in 9.0, since 9.1 hasn&#8217;t been released yet. (but, it&#8217;s looking like we&#8217;re gearing up for a &hellip; <a href=\"https:\/\/www.chesnok.com\/daily\/2011\/08\/17\/high-availability-and-postgres\/\">Continue reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97,9],"tags":[484,661,481,482,483,647,624,623],"class_list":["post-3318","post","type-post","status-publish","format-standard","hentry","category-postgres","category-postgresql","tag-dba","tag-devops","tag-ha","tag-high-availability","tag-operations","tag-postgres","tag-postgresql","tag-sysadmin"],"_links":{"self":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts\/3318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/comments?post=3318"}],"version-history":[{"count":4,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts\/3318\/revisions"}],"predecessor-version":[{"id":4085,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/posts\/3318\/revisions\/4085"}],"wp:attachment":[{"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/media?parent=3318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/categories?post=3318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chesnok.com\/daily\/wp-json\/wp\/v2\/tags?post=3318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}