{"id":11366,"date":"2018-06-22T09:24:54","date_gmt":"2018-06-22T07:24:54","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/"},"modified":"2018-06-22T09:24:54","modified_gmt":"2018-06-22T07:24:54","slug":"whats-new-in-edb-efm-3-1","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/","title":{"rendered":"What&#8217;s new in EDB EFM 3.1?"},"content":{"rendered":"<p>Beginning of this month <a href=\"https:\/\/www.enterprisedb.com\/\" target=\"_blank\" rel=\"noopener\">EnterpriseDB<\/a> announced a new version of its <a href=\"https:\/\/www.enterprisedb.com\/products\/edb-postgres-platform\/edb-postgres-failover-manager\" target=\"_blank\" rel=\"noopener\">Failover Manager<\/a>. Version 2.1 introduced controlled switchover operations, version 3.0 brought support for PostgreSQL 10 and now: What&#8217;s new in version 3.1? It might seem this is just a bugfix release but there is more and especially one enhancement I&#8217;ve waited for a long time. <\/p>\n<p><!--more--><\/p>\n<p>As you might remember: When you stopped EFM (before version 3.1) the nodes.in file was always empty again. What we usually did is to create a backup of that file so we just could copy it back but this is somehow annoying. The current version comes with a new property in the efm.properties file to handle that better:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n# When set to true, EFM will not rewrite the .nodes file whenever new nodes\n# join or leave the cluster. This can help starting a cluster in the cases\n# where it is expected for member addresses to be mostly static, and combined\n# with 'auto.allow.hosts' makes startup easier when learning failover manager.\nstable.nodes.file=true\n<\/pre>\n<p>When set to &#8220;true&#8221; the file will not be touched when you stop\/restart EFM on a node:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@:\/etc\/edb\/efm\/ [] cat efm.nodes\n# List of node address:port combinations separated by whitespace.\n# The list should include at least the membership coordinator's address.\n192.168.22.60:9998 192.168.22.61:9998 \nroot@:\/etc\/edb\/efm\/ [] systemctl stop efm-3.1.service\nroot@:\/etc\/edb\/efm\/ [] cat efm.nodes\n# List of node address:port combinations separated by whitespace.\n# The list should include at least the membership coordinator's address.\n192.168.22.60:9998 192.168.22.61:9998 \nroot@:\/etc\/edb\/efm\/ [] systemctl start efm-3.1.service\nroot@:\/etc\/edb\/efm\/ [] cat efm.nodes\n# List of node address:port combinations separated by whitespace.\n# The list should include at least the membership coordinator's address.\n192.168.22.60:9998 192.168.22.61:9998 \n<\/pre>\n<p>A small, but really nice improvement. At least with our deployments the amount of cluster nodes is rather static so this helps a lot. While this is a new property another property is gone:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@:\/etc\/edb\/efm\/ [] grep efm.license efm.properties\n<\/pre>\n<p>This means you do not anymore need a license key to test EFM for more than 60 days, which is great as well. Another small improvement is that you now can see on which node the VIP is currently running on:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [6,7]\">\nroot@:\/etc\/edb\/efm\/ [] \/usr\/edb\/efm\/bin\/efm cluster-status efm\nCluster Status: efm\n\n\tAgent Type  Address              Agent  DB       VIP\n\t-----------------------------------------------------------------------\n\tMaster      192.168.22.60        UP     UP       192.168.22.63*\n\tStandby     192.168.22.61        UP     UP       192.168.22.63\n\nAllowed node host list:\n\t192.168.22.60 192.168.22.61\n\nMembership coordinator: 192.168.22.61\n\nStandby priority host list:\n\t192.168.22.61\n\nPromote Status:\n\n\tDB Type     Address              XLog Loc         Info\n\t--------------------------------------------------------------\n\tMaster      192.168.22.60        0\/40006F0        \n\tStandby     192.168.22.61        0\/40006F0        \n\n\tStandby database(s) in sync with master. It is safe to promote.\n\n<\/pre>\n<p>When it comes to the VIP there is another enhancement which is controlled by new property:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nroot@:\/etc\/edb\/efm\/ [] grep virtualIp.single efm.properties | tail -1\nvirtualIp.single=true\n<\/pre>\n<p>When this is set to &#8220;true&#8221; EFM will use the same address for the VIP after a failover on the new master. This was the default behavior before EFM 3.1. When you want to use another VIP on a new master you can now do that be switching that to false and provide a different VIP in the properties file on each node.<\/p>\n<p>That&#8217;s the important ones for me. The full list is in <a href=\"https:\/\/www.enterprisedb.com\/docs\/en\/3.1\/edbfm\/EDB_Failover_Manager_Guide.1.03.html#\" target=\"_blank\" rel=\"noopener\">the documentation<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Beginning of this month EnterpriseDB announced a new version of its Failover Manager. Version 2.1 introduced controlled switchover operations, version 3.0 brought support for PostgreSQL 10 and now: What&#8217;s new in version 3.1? It might seem this is just a bugfix release but there is more and especially one enhancement I&#8217;ve waited for a long [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[713,77],"type_dbi":[],"class_list":["post-11366","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-enterprisedb","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>What&#039;s new in EDB EFM 3.1? - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What&#039;s new in EDB EFM 3.1?\" \/>\n<meta property=\"og:description\" content=\"Beginning of this month EnterpriseDB announced a new version of its Failover Manager. Version 2.1 introduced controlled switchover operations, version 3.0 brought support for PostgreSQL 10 and now: What&#8217;s new in version 3.1? It might seem this is just a bugfix release but there is more and especially one enhancement I&#8217;ve waited for a long [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-22T07:24:54+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"What&#8217;s new in EDB EFM 3.1?\",\"datePublished\":\"2018-06-22T07:24:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/\"},\"wordCount\":303,\"commentCount\":0,\"keywords\":[\"enterprisedb\",\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/\",\"name\":\"What's new in EDB EFM 3.1? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2018-06-22T07:24:54+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What&#8217;s new in EDB EFM 3.1?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What's new in EDB EFM 3.1? - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/","og_locale":"en_US","og_type":"article","og_title":"What's new in EDB EFM 3.1?","og_description":"Beginning of this month EnterpriseDB announced a new version of its Failover Manager. Version 2.1 introduced controlled switchover operations, version 3.0 brought support for PostgreSQL 10 and now: What&#8217;s new in version 3.1? It might seem this is just a bugfix release but there is more and especially one enhancement I&#8217;ve waited for a long [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/","og_site_name":"dbi Blog","article_published_time":"2018-06-22T07:24:54+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"What&#8217;s new in EDB EFM 3.1?","datePublished":"2018-06-22T07:24:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/"},"wordCount":303,"commentCount":0,"keywords":["enterprisedb","PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/","url":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/","name":"What's new in EDB EFM 3.1? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2018-06-22T07:24:54+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/whats-new-in-edb-efm-3-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What&#8217;s new in EDB EFM 3.1?"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=11366"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11366\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11366"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}