{"id":11294,"date":"2018-05-29T18:42:39","date_gmt":"2018-05-29T16:42:39","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/"},"modified":"2018-05-29T18:42:39","modified_gmt":"2018-05-29T16:42:39","slug":"edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/","title":{"rendered":"EDB Failover Manager in EDB containers in Minishift\/OpenShift &#8211; Failovers"},"content":{"rendered":"<p><b>This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available.<\/b><\/p>\n<p>In the last post <a href=\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-ebd-containers-in-minishiftopenshift\/\" target=\"_blank\" rel=\"noopener noreferrer\">we had a look at the basic configuration of EDB EFM<\/a> and confirmed that we can do manual switchovers for maintenance operations. Being able to do a switchover and switchback is fine but what really is important are automatic failovers. Without an automatic failover this setup would be somehow useless as a) EDB EFM is supposed to do exactly that and b) without that we would need to implement something on our own. So lets have a look if that works.<\/p>\n<p><!--more--><\/p>\n<p>For this little I scaled the PostgreSQL instances to three, meaning one master and two replica instances. Three is the minimum required as <a href=\"https:\/\/www.enterprisedb.com\/docs\/en\/3.0\/edbfm\/EDB_Failover_Manager_Guide.1.05.html#\" target=\"_blank\" rel=\"noopener noreferrer\">EFM requires at least three agents<\/a> so at least two can decide what to do. In a traditional setup this is usually done by making a non database host the EDB EFM witness host. In this OpenShift\/MiniShift setup we do not have a witness node so the minimum amount of database hosts (where EFM runs on) is three. This is how it currently looks like: <\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:~$ oc get pods -o wide -L role\nNAME                 READY     STATUS    RESTARTS   AGE       IP            NODE        ROLE\nedb-as10-0-1-dzcj6   0\/1       Running   2          3h        172.17.0.9    localhost   standbydb\nedb-as10-0-1-jmfjk   0\/1       Running   2          4h        172.17.0.3    localhost   masterdb\nedb-as10-0-1-rlzdb   0\/1       Running   2          3h        172.17.0.6    localhost   standbydb\nedb-pgpool-1-jtwg2   0\/1       Running   2          4h        172.17.0.4    localhost   queryrouter\nedb-pgpool-1-pjxzs   0\/1       Running   2          4h        172.17.0.5    localhost   queryrouter\n<\/pre>\n<p>What I will do is to kill the master pod (edb-as10-0-1-jmfjk) to see what happens to my current setup. Before I do that, lets open a second session into one of the standby pods and check the current EFM status:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:~$ oc rsh edb-as10-0-1-dzcj6\nsh-4.2$ \/usr\/edb\/efm-3.0\/bin\/efm cluster-status edb\nCluster Status: edb\nVIP: \n\n\tAgent Type  Address              Agent  DB       Info\n\t--------------------------------------------------------------\n\tMaster      172.17.0.3           UP     UP        \n\tStandby     172.17.0.6           UP     UP        \n\tStandby     172.17.0.9           UP     UP        \n\nAllowed node host list:\n\t172.17.0.3\n\nMembership coordinator: 172.17.0.3\n\nStandby priority host list:\n\t172.17.0.9 172.17.0.6\n\nPromote Status:\n\n\tDB Type     Address              XLog Loc         Info\n\t--------------------------------------------------------------\n\tMaster      172.17.0.3           0\/F000060        \n\tStandby     172.17.0.9           0\/F000060        \n\tStandby     172.17.0.6           0\/F000060        \n\n\tStandby database(s) in sync with master. It is safe to promote.\n<\/pre>\n<p>Looks fine. So from the first session using the oc command line utility lets kill the master pod. What I at least expect is that one of the standby instances get promoted and the remaining standby is reconfigured to connect to the new master.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:~$ oc delete pod edb-as10-0-1-jmfjk\npod \"edb-as10-0-1-jmfjk\" deleted\ndwe@dwe:~$ oc get pods\nNAME                 READY     STATUS        RESTARTS   AGE\nedb-as10-0-1-dzcj6   1\/1       Running       2          3h\nedb-as10-0-1-jmfjk   1\/1       Terminating   2          4h\nedb-as10-0-1-rlzdb   1\/1       Running       2          4h\nedb-as10-0-1-snnxc   0\/1       Running       0          2s\nedb-bart-1-s2fgj     1\/1       Running       2          4h\nedb-pgpool-1-jtwg2   1\/1       Running       2          4h\nedb-pgpool-1-pjxzs   1\/1       Running       2          4h\n<\/pre>\n<p>The master pod is terminating. What does the second session in the standby pod tell us when we ask EFM for the cluster status?<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsh-4.2$ \/usr\/edb\/efm-3.0\/bin\/efm cluster-status edb\nCluster Status: edb\nVIP: \n\n\tAgent Type  Address              Agent  DB       Info\n\t--------------------------------------------------------------\n\tStandby     172.17.0.6           UP     UP        \n\tPromoting   172.17.0.9           UP     UP        \n\nAllowed node host list:\n\t172.17.0.3\n\nMembership coordinator: 172.17.0.6\n\nStandby priority host list:\n\t172.17.0.6\n\nPromote Status:\n\n\tDB Type     Address              XLog Loc         Info\n\t--------------------------------------------------------------\n\tMaster      172.17.0.9           0\/F000250        \n\tStandby     172.17.0.6           0\/F000140        \n\n\tOne or more standby databases are not in sync with the master database.\n<\/pre>\n<p>The master is gone and one of the standby instances gets promoted. Lets wait a few seconds and check again:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsh-4.2$ \/usr\/edb\/efm-3.0\/bin\/efm cluster-status edb\nCluster Status: edb\nVIP: \n\n\tAgent Type  Address              Agent  DB       Info\n\t--------------------------------------------------------------\n\tIdle        172.17.0.11          UP     UNKNOWN   \n\tStandby     172.17.0.6           UP     UP        \n\tMaster      172.17.0.9           UP     UP        \n\nAllowed node host list:\n\t172.17.0.3\n\nMembership coordinator: 172.17.0.6\n\nStandby priority host list:\n\t172.17.0.6\n\nPromote Status:\n\n\tDB Type     Address              XLog Loc         Info\n\t--------------------------------------------------------------\n\tMaster      172.17.0.9           0\/F000288        \n\tStandby     172.17.0.6           0\/F000288        \n\n\tStandby database(s) in sync with master. It is safe to promote.\n\nIdle Node Status (idle nodes ignored in XLog location comparisons):\n\n\tAddress              XLog Loc         Info\n\t--------------------------------------------------------------\n\t172.17.0.11          0\/F000288        DB is in recovery.\n<\/pre>\n<p>The new master is ready, the remaining standby is reconfigured to connect to the new master. Even better a few seconds later the old master is back as a new standby:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nsh-4.2$ \/usr\/edb\/efm-3.0\/bin\/efm cluster-status edb\nCluster Status: edb\nVIP: \n\n\tAgent Type  Address              Agent  DB       Info\n\t--------------------------------------------------------------\n\tStandby     172.17.0.11          UP     UP        \n\tStandby     172.17.0.6           UP     UP        \n\tMaster      172.17.0.9           UP     UP        \n\nAllowed node host list:\n\t172.17.0.3\n\nMembership coordinator: 172.17.0.6\n\nStandby priority host list:\n\t172.17.0.6 172.17.0.11\n\nPromote Status:\n\n\tDB Type     Address              XLog Loc         Info\n\t--------------------------------------------------------------\n\tMaster      172.17.0.9           0\/F000288        \n\tStandby     172.17.0.6           0\/F000288        \n\tStandby     172.17.0.11          0\/F000288        \n\n\tStandby database(s) in sync with master. It is safe to promote.\n<\/pre>\n<p>Works fine and is what you must have in a good setup. When we kill one of the standby pods the expected result is that the pod restarts and the instance will come back as a standby, lets check:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n20:32:47 dwe@dwe:~$ oc delete pod edb-as10-0-1-hf27d\npod \"edb-as10-0-1-hf27d\" deleted\ndwe@dwe:~$ oc get pods -o wide -L role\nNAME                 READY     STATUS        RESTARTS   AGE       IP            NODE        ROLE\nedb-as10-0-1-8p5rd   0\/1       Running       0          3s        172.17.0.6    localhost   \nedb-as10-0-1-dzcj6   1\/1       Running       2          4h        172.17.0.9    localhost   masterdb\nedb-as10-0-1-hf27d   0\/1       Terminating   1          12m       172.17.0.3    localhost   \nedb-as10-0-1-snnxc   1\/1       Running       0          20m       172.17.0.11   localhost   standbydb\nedb-pgpool-1-jtwg2   1\/1       Running       2          5h        172.17.0.4    localhost   queryrouter\nedb-pgpool-1-pjxzs   1\/1       Running       2          5h        172.17.0.5    localhost   queryrouter\n<\/pre>\n<p>A few moments later we have the previous status:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:~$ oc get pods -o wide -L role\nNAME                 READY     STATUS    RESTARTS   AGE       IP            NODE        ROLE\nedb-as10-0-1-8p5rd   1\/1       Running   0          4m        172.17.0.6    localhost   standbydb\nedb-as10-0-1-dzcj6   1\/1       Running   2          4h        172.17.0.9    localhost   masterdb\nedb-as10-0-1-snnxc   1\/1       Running   0          24m       172.17.0.11   localhost   standbydb\nedb-pgpool-1-jtwg2   1\/1       Running   2          5h        172.17.0.4    localhost   queryrouter\nedb-pgpool-1-pjxzs   1\/1       Running   2          5h        172.17.0.5    localhost   queryrouter\n<\/pre>\n<p>Fine as well. To complete this little series about EDB containers in MiniShift\/OpenShift we will have a look at how we can add an EDB BART container to the setup, because backup and recovery is still missing \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available. In the last post we had a look at the basic configuration of EDB EFM and confirmed that we can do manual switchovers for maintenance operations. Being able to do a switchover and switchback is fine but [&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":[601,713,1343,1344,77],"type_dbi":[],"class_list":["post-11294","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","tag-docker","tag-enterprisedb","tag-minishift","tag-openshift","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>EDB Failover Manager in EDB containers in Minishift\/OpenShift - Failovers - 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\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EDB Failover Manager in EDB containers in Minishift\/OpenShift - Failovers\" \/>\n<meta property=\"og:description\" content=\"This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available. In the last post we had a look at the basic configuration of EDB EFM and confirmed that we can do manual switchovers for maintenance operations. Being able to do a switchover and switchback is fine but [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-29T16:42:39+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=\"5 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\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"EDB Failover Manager in EDB containers in Minishift\/OpenShift &#8211; Failovers\",\"datePublished\":\"2018-05-29T16:42:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/\"},\"wordCount\":452,\"commentCount\":0,\"keywords\":[\"Docker\",\"enterprisedb\",\"MiniShift\",\"OpenShift\",\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/\",\"name\":\"EDB Failover Manager in EDB containers in Minishift\/OpenShift - Failovers - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2018-05-29T16:42:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"EDB Failover Manager in EDB containers in Minishift\/OpenShift &#8211; Failovers\"}]},{\"@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":"EDB Failover Manager in EDB containers in Minishift\/OpenShift - Failovers - 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\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/","og_locale":"en_US","og_type":"article","og_title":"EDB Failover Manager in EDB containers in Minishift\/OpenShift - Failovers","og_description":"This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available. In the last post we had a look at the basic configuration of EDB EFM and confirmed that we can do manual switchovers for maintenance operations. Being able to do a switchover and switchback is fine but [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/","og_site_name":"dbi Blog","article_published_time":"2018-05-29T16:42:39+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"EDB Failover Manager in EDB containers in Minishift\/OpenShift &#8211; Failovers","datePublished":"2018-05-29T16:42:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/"},"wordCount":452,"commentCount":0,"keywords":["Docker","enterprisedb","MiniShift","OpenShift","PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/","url":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/","name":"EDB Failover Manager in EDB containers in Minishift\/OpenShift - Failovers - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2018-05-29T16:42:39+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/edb-failover-manager-in-edb-containers-in-minishiftopenshift-failovers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"EDB Failover Manager in EDB containers in Minishift\/OpenShift &#8211; Failovers"}]},{"@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\/11294","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=11294"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11294\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11294"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}