{"id":15423,"date":"2020-12-23T13:00:09","date_gmt":"2020-12-23T12:00:09","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/"},"modified":"2024-09-10T17:30:26","modified_gmt":"2024-09-10T15:30:26","slug":"running-two-patroni-on-one-host-using-an-existing-etcd","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/","title":{"rendered":"Running two Patroni on one host using an existing etcd"},"content":{"rendered":"<p>Have you ever asked yourself, how to create a second Patroni PostgreSQL cluster on an existing server using the existing etcd?  My first idea was to study the <a href=\"https:\/\/patroni.readthedocs.io\/en\/latest\/\" target=\"\u201d_blank\u201d\" rel=\"noopener noreferrer\"> documentation of Patroni<\/a>, but unfortunately without big success. This post should help to identify the changes you have to do on the hosts to run two parallel Patroni clusters using an existing etcd.<br \/>\n<!--more--><\/p>\n<h3> Starting Point <\/h3>\n<p>First we want to have a short look on the existing infrastructure to have a better overview where we are starting.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png\" alt=\"\" width=\"300\" height=\"217\" class=\"aligncenter size-medium wp-image-46294\" \/><\/a><\/p>\n<p>There is a Patroni installation and etcd already existing on the servers. As well as one PostgreSQL cluster streaming from primary to replica. We are not using two replicas in this example, but it works the same for numerous replicas.<\/p>\n<h3> etcd <\/h3>\n<p>As the etcd is already running on the hosts, let&#8217;s start with this one. And here we already have good news! You don&#8217;t have to change anything on etcd side. Just leave your configuration as it is. <\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@postgres_primary:\/home\/postgres\/.local\/bin\/ [PGTEST] cat \/u01\/app\/postgres\/local\/dmk\/dmk_postgres\/etc\/etcd.conf\nname: postgres-primary\ndata-dir: \/u02\/postgres\/pgdata\/etcd\ninitial-advertise-peer-urls: http:\/\/192.168.22.33:2380\nlisten-peer-urls: http:\/\/192.168.22.33:2380\nlisten-client-urls: http:\/\/192.168.22.33:2379,http:\/\/localhost:2379\nadvertise-client-urls: http:\/\/192.168.22.33:2379\ninitial-cluster: postgres-primary=http:\/\/192.168.22.33:2380, postgres-stby=http:\/\/192.168.22.34:2380, postgres-stby2=http:\/\/192.168.22.35:2380\n<\/pre>\n<h3>patroni.yml <\/h3>\n<p>Let&#8217;s go on with the patroni.yml. As there is already a Patroni running on that server you need to create another patroni.yml, let&#8217;s say patroni_pgtest.yml. To keep it simple and not reinventing the wheel, just copy your existing yml file<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@postgres_primary:\/home\/postgres\/ [PGTEST] cd \/u01\/app\/postgres\/local\/dmk\/dmk_postgres\/etc\npostgres@postgres_primary:\/u01\/app\/postgres\/local\/dmk\/dmk_postgres\/etc\/ [PGTEST] cp patroni.yml patroni_pgtest.yml\n<\/pre>\n<p>Once we have the new patroni_pgtest.yml we need to adjust some entries in this file. Most important entries to change are &#8220;namespace&#8221; and &#8220;scope&#8221;. Without changing this, your new Patroni service won&#8217;t create a new PostgreSQL cluster<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nscope: PGTEST\nnamespace: \/pgtest\/\nname: pgtest1\n<\/pre>\n<p>Next parameters to change are the restapi ones. You can keep the IP address, but you have to adjust the port. Otherwise the service will start with an: &#8220;Address already in use&#8221; error.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nrestapi:\n  listen: 192.168.22.33:8009\n  connect_address: 192.168.22.33:8009\n<\/pre>\n<p>Once this is done, of course the PostgreSQL parameters need to be adjusted to not use the same port and clustername as the already existing cluster. Further the PGDATA directory needs to be adjusted.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n...\n...\n  dcs:\n    ttl: 30\n    loop_wait: 10\n    retry_timeout: 10\n    maximum_lag_on_failover: 1048576\n    postgresql:\n      use_pg_rewind: true\n      use_slots: true\n      parameters:\n        ...\n        ...\n        port: 5410\n...\n...\npostgresql:\n  listen: 192.168.22.33:5410\n  connect_address: 192.168.22.33:5410\n  data_dir: \/u02\/postgres\/pgdata\/13\/PGTEST\/\n...\n...\n<\/pre>\n<h3>Patroni service <\/h3>\n<p>Now that we changed all our parameters, we can create a second Patroni service named patroni_pgtest.service. Be sure to point to the correct patroni_pgtest.yml<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@postgres_primary:\/home\/postgres\/ [PGTEST] sudo vi \/etc\/systemd\/system\/patroni_pgtest.service\n#\n# systemd integration for patroni\n#\n\n[Unit]\nDescription=dbi services patroni service\nAfter=etcd.service syslog.target network.target\n\n[Service]\nUser=postgres\nType=simple\nExecStart=\/u01\/app\/postgres\/local\/dmk\/bin\/patroni \/u01\/app\/postgres\/local\/dmk\/etc\/patroni_pgtest.yml\nExecReload=\/bin\/kill -s HUP $MAINPID\nKillMode=process\nRestart=no\n\n[Install]\nWantedBy=multi-user.target\n<\/pre>\n<p>Now we can start and enable the service<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@postgres_primary:\/home\/postgres\/ [PGTEST] sudo systemctl start patroni_pgtest.service\npostgres@postgres_primary:\/home\/postgres\/ [PGTEST] sudo systemctl status patroni_pgtest.service\n\u25cf patroni_pgtest.service - dbi services patroni service\n   Loaded: loaded (\/etc\/systemd\/system\/patroni_pgtest.service; enabled; vendor preset: disabled)\n   Active: active (running) since Tue 2020-12-22 20:07:46 CET; 9h ago\n Main PID: 4418 (patroni)\n   CGroup: \/system.slice\/patroni.service\n           \u251c\u25004418 \/usr\/bin\/python2 \/u01\/app\/postgres\/local\/dmk\/dmk_postgres\/bin\/patroni \/u01\/app\/postgres\/local\/dmk\/dmk_postgres\/etc\/patroni_pgtest.yml\n           \u251c\u25005258 \/u01\/app\/postgres\/product\/PG13\/db_1\/bin\/postgres -D \/u02\/pgdata\/13\/PG1\/ --config-file=\/u02\/postgres\/pgdata\/13\/PG1\/postgresql.conf --listen_addresses=192.168.22.33 --max_worker_processes=8 --max_locks_per_tra...\n           \u251c\u25005282 postgres: PG1: logger process\n           \u251c\u25005292 postgres: PG1: checkpointer process\n           \u251c\u25005294 postgres: PG1: writer process\n           \u251c\u25005296 postgres: PG1: stats collector process\n           \u251c\u25006171 postgres: PG1: postgres postgres 192.168.22.33(50492) idle\n           \u251c\u25006473 postgres: PG1: wal writer process\n           \u251c\u25006474 postgres: PG1: autovacuum launcher process\n\nDec 23 05:36:21 postgres_primary patroni[4418]: 2020-12-23 05:36:21,032 INFO: Lock owner: postgres_primary; I am postgres_primary\nDec 23 05:36:21 postgres_primary patroni[4418]: 2020-12-23 05:36:21,047 INFO: no action.  i am the leader with the lock\n\npostgres@postgres_primary:\/home\/postgres\/ [PGTEST] sudo systemctl enable patroni_pgtest.service\n<\/pre>\n<p>As the cluster is running on the primary server now, you can do the exactly same steps on your replica server(s). Be sure to set all ports and IPs correctly.<\/p>\n<h3>Conclusion <\/h3>\n<p>Even if it seems to be easy to setup a second Patroni on a server, it took some time to found out, what exactly needs to be changes. But once you know all that, it&#8217;s really simple. Just keep in mind that you have to use a port for your PostgreSQL cluster that is not used at the moment.<br \/>\nFurthermore if you are using our DMK on your host, be sure to use &#8216;patronictl list&#8217; calling the correct configuration file and the complete path for patronictl. DMK gives you an alias for patronictl which will only work for the first Patroni cluster created on the server.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@postgres_primary:\/home\/postgres\/ [PGTEST] cd .local\/bin\npostgres@postgres_primary:\/home\/postgres\/.local\/bin [PGTEST] patronictl -c \/u01\/app\/postgres\/local\/dmk\/etc\/patroni_pgtest.yml list\n+------------+------------------+---------------+--------+---------+-----+-----------+\n| Cluster    |     Member       |      Host     |  Role  |  State  |  TL | Lag in MB |\n+------------+------------------+---------------+--------+---------+-----+-----------+\n|   PGTEST   | postgres_primary | 192.168.22.33 | Leader | running | 528 |       0.0 |\n|   PGTEST   | postgres_replica | 192.168.22.34 |        | running | 528 |       0.0 |\n+------------+------------------+---------------+--------+---------+-----+-----------+\n<\/pre>\n<p>In case you&#8217;re not using DMK, you have to add the configuration file in any case. You also have to set the correct PATH variable or use the complete path to call patronictl.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever asked yourself, how to create a second Patroni PostgreSQL cluster on an existing server using the existing etcd? My first idea was to study the documentation of Patroni, but unfortunately without big success. This post should help to identify the changes you have to do on the hosts to run two parallel [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":15424,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[84,1543,77],"type_dbi":[],"class_list":["post-15423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","tag-high-availability","tag-patroni","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>Running two Patroni on one host using an existing etcd - 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\/running-two-patroni-on-one-host-using-an-existing-etcd\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Running two Patroni on one host using an existing etcd\" \/>\n<meta property=\"og:description\" content=\"Have you ever asked yourself, how to create a second Patroni PostgreSQL cluster on an existing server using the existing etcd? My first idea was to study the documentation of Patroni, but unfortunately without big success. This post should help to identify the changes you have to do on the hosts to run two parallel [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-23T12:00:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-10T15:30:26+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png\" \/>\n\t<meta property=\"og:image:width\" content=\"912\" \/>\n\t<meta property=\"og:image:height\" content=\"660\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Open source Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Open source Team\" \/>\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\/running-two-patroni-on-one-host-using-an-existing-etcd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/\"},\"author\":{\"name\":\"Open source Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b\"},\"headline\":\"Running two Patroni on one host using an existing etcd\",\"datePublished\":\"2020-12-23T12:00:09+00:00\",\"dateModified\":\"2024-09-10T15:30:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/\"},\"wordCount\":540,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png\",\"keywords\":[\"High availability\",\"Patroni\",\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/\",\"name\":\"Running two Patroni on one host using an existing etcd - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png\",\"datePublished\":\"2020-12-23T12:00:09+00:00\",\"dateModified\":\"2024-09-10T15:30:26+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png\",\"width\":912,\"height\":660},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Running two Patroni on one host using an existing etcd\"}]},{\"@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\/59554f0d99383431eb6ed427e338952b\",\"name\":\"Open source Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g\",\"caption\":\"Open source Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/open-source-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Running two Patroni on one host using an existing etcd - 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\/running-two-patroni-on-one-host-using-an-existing-etcd\/","og_locale":"en_US","og_type":"article","og_title":"Running two Patroni on one host using an existing etcd","og_description":"Have you ever asked yourself, how to create a second Patroni PostgreSQL cluster on an existing server using the existing etcd? My first idea was to study the documentation of Patroni, but unfortunately without big success. This post should help to identify the changes you have to do on the hosts to run two parallel [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/","og_site_name":"dbi Blog","article_published_time":"2020-12-23T12:00:09+00:00","article_modified_time":"2024-09-10T15:30:26+00:00","og_image":[{"width":912,"height":660,"url":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png","type":"image\/png"}],"author":"Open source Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Open source Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/"},"author":{"name":"Open source Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b"},"headline":"Running two Patroni on one host using an existing etcd","datePublished":"2020-12-23T12:00:09+00:00","dateModified":"2024-09-10T15:30:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/"},"wordCount":540,"commentCount":1,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png","keywords":["High availability","Patroni","PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/","url":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/","name":"Running two Patroni on one host using an existing etcd - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png","datePublished":"2020-12-23T12:00:09+00:00","dateModified":"2024-09-10T15:30:26+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/59554f0d99383431eb6ed427e338952b"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/2020-12-23_13h45_31.png","width":912,"height":660},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/running-two-patroni-on-one-host-using-an-existing-etcd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Running two Patroni on one host using an existing etcd"}]},{"@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\/59554f0d99383431eb6ed427e338952b","name":"Open source Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/eb4fb12e386e8c41fdef0733e8114594cf2653e4f55e9fa2161442b8eaf3f657?s=96&d=mm&r=g","caption":"Open source Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/open-source-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/15423","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\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=15423"}],"version-history":[{"count":1,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/15423\/revisions"}],"predecessor-version":[{"id":34682,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/15423\/revisions\/34682"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/15424"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=15423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=15423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=15423"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=15423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}