{"id":6715,"date":"2019-01-27T09:05:33","date_gmt":"2019-01-27T08:05:33","guid":{"rendered":"https:\/\/www.credativ.de\/blog\/credativ-inside\/integrating-patroni-into-debian\/"},"modified":"2022-04-06T14:09:35","modified_gmt":"2022-04-06T12:09:35","slug":"integrating-patroni-into-debian","status":"publish","type":"post","link":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/","title":{"rendered":"Integrating Patroni into Debian"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/zalando\/patroni\">Patroni<\/a> is a PostgreSQL high availability solution with a focus on containers and Kubernetes. Until recently, the available Debian packages had to be configured manually and did not integrate well with the rest of the distribution. For the upcoming Debian 10 \u201cBuster\u201d release, the Patroni packages have been integrated into Debian\u2019s standard PostgreSQL framework by credativ. They now allow for an easy setup of Patroni clusters on Debian or Ubuntu.<\/p>\n<p>Patroni employs a \u201cDistributed Consensus Store\u201d (DCS) like Etcd, Consul or Zookeeper in order to reliably run a leader election and orchestrate automatic failover. It further allows for scheduled switchovers and easy cluster-wide changes to the configuration. Finally, it provides a REST interface that can be used together with HAProxy in order to build a load balancing solution. Due to these advantages Patroni has gradually replaced Pacemaker as the go-to open-source project for PostgreSQL high availability.<\/p>\n<p>However, many of our customers run PostgreSQL on Debian or Ubuntu systems and so far Patroni did not integrate well into those. For example, it does not use the <code>postgresql-common<\/code> framework and its instances were not displayed in <code>pg_lsclusters<\/code> output as usual.<\/p>\n<h2>Integration into Debian<\/h2>\n<p>In a collaboration with Patroni lead developer Alexander Kukushkin from Zalando the Debian Patroni package has been integrated into the <code>postgresql-common<\/code> framework to a large extent over the last months. This was due to changes both in Patroni itself as well as additional programs in the Debian package. The current <a href=\"https:\/\/github.com\/zalando\/patroni\/blob\/master\/docs\/releases.rst#version-155\">Version 1.5.5<\/a> of Patroni contains all these changes and is now available in Debian \u201cBuster\u201d (testing) in order to setup Patroni clusters.<\/p>\n<p>The packages are also available on <a href=\"https:\/\/apt.postgresql.org\/\">apt.postgresql.org<\/a> and thus installable on Debian 9 \u201cStretch\u201d and Ubuntu 18.04 \u201cBionic Beaver\u201d LTS for any PostgreSQL version from 9.4 to 11.<\/p>\n<p>The most important part of the integration is the automatic generation of a suitable Patroni configuration with the <code>pg_createconfig_patroni<\/code> command. It is run similar to <code>pg_createcluster<\/code> with the desired PostgreSQL major version and the instance name as parameters:<\/p>\n<pre><code>pg_createconfig_patroni 11 test\r\n<\/code><\/pre>\n<p>This invocation creates a file <code>\/etc\/patroni\/11-test.yml<\/code>, using the DCS configuration from <code>\/etc\/patroni\/dcs.yml<\/code> which has to be adjusted according to the local setup. The rest of the configuration is taken from the template <code>\/etc\/patroni\/config.yml.in<\/code> which is usable in itself but can be customized by the user according to their needs. Afterwards the Patroni instance is started via systemd similar to regular PostgreSQL instances:<\/p>\n<pre><code>systemctl start patroni@11-test\r\n<\/code><\/pre>\n<p>A simple 3-node Patroni cluster can be created and started with the following few commands, where the nodes <code>pg1<\/code>, <code>pg2<\/code> and <code>pg3<\/code> are considered to be hostnames and the local file <code>dcs.yml<\/code> contains the DCS configuration:<\/p>\n<pre><code>\r\nfor i in pg1 pg2 pg3; do ssh $i 'apt -y install postgresql-common'; done\r\nfor i in pg1 pg2 pg3; do ssh $i 'sed -i \"s\/^#create_main_cluster = true\/create_main_cluster = false\/\" \/etc\/postgresql-common\/createcluster.conf'; done\r\nfor i in pg1 pg2 pg3; do ssh $i 'apt -y install patroni postgresql'; done\r\nfor i in pg1 pg2 pg3; do scp .\/dcs.yml $i:\/etc\/patroni; done\r\nfor i in pg1 pg2 pg3; do ssh @$i 'pg_createconfig_patroni 11 test' &amp;&amp; systemctl start patroni@11-test'; done\r\n<\/code><\/pre>\n<p>Afterwards, you can get the state of the Patroni cluster via<\/p>\n<pre><code>ssh pg1 'patronictl -c \/etc\/patroni\/11-patroni.yml list'\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n| Cluster | Member |    Host    |  Role  |  State  | TL | Lag in MB |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n| 11-test |  pg1   | 10.0.3.111 | Leader | running |  1 |           |\r\n| 11-test |  pg2   | 10.0.3.41  |        | stopped |    |   unknown |\r\n| 11-test |  pg3   | 10.0.3.46  |        | stopped |    |   unknown |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n<\/code><\/pre>\n<p>Leader election has happened and <code>pg1<\/code> has become the primary. It created its instance with the Debian-specific <code>pg_createcluster_patroni<\/code> program that runs <code>pg_createcluster<\/code> in the background. Then the two other nodes clone from the leader using the <code>pg_clonecluster_patroni<\/code> program which sets up an instance using <code>pg_createcluster<\/code> and then runs <code>pg_basebackup<\/code> from the primary. After that, all nodes are up and <code>running<\/code>:<\/p>\n<pre><code>+---------+--------+------------+--------+---------+----+-----------+\r\n| Cluster | Member |    Host    |  Role  |  State  | TL | Lag in MB |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n| 11-test |  pg1   | 10.0.3.111 | Leader | running |  1 |         0 |\r\n| 11-test |  pg2   | 10.0.3.41  |        | running |  1 |         0 |\r\n| 11-test |  pg3   | 10.0.3.46  |        | running |  1 |         0 |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n<\/code><\/pre>\n<p>The well-known Debian <code>postgresql-common<\/code> commands work as well:<br \/>\n<code><\/code><\/p>\n<pre>ssh pg1 'pg_lsclusters'\r\nVer Cluster Port Status Owner    Data directory                 Log file\r\n11  test    5432 online postgres \/var\/lib\/postgresql\/11\/test    \/var\/log\/postgresql\/postgresql-11-test.log\r\n<\/pre>\n<h2>Failover Behaviour<\/h2>\n<p>If the primary is abruptly shutdown, its leader token will expire after a while and Patroni will eventually initiate failover and a new leader election:<\/p>\n<pre><code>+---------+--------+-----------+------+---------+----+-----------+\r\n| Cluster | Member |    Host   | Role |  State  | TL | Lag in MB |\r\n+---------+--------+-----------+------+---------+----+-----------+\r\n| 11-test |  pg2   | 10.0.3.41 |      | running |  1 |         0 |\r\n| 11-test |  pg3   | 10.0.3.46 |      | running |  1 |         0 |\r\n+---------+--------+-----------+------+---------+----+-----------+\r\n[...]\r\n+---------+--------+-----------+--------+---------+----+-----------+\r\n| Cluster | Member |    Host   |  Role  |  State  | TL | Lag in MB |\r\n+---------+--------+-----------+--------+---------+----+-----------+\r\n| 11-test |  pg2   | 10.0.3.41 | Leader | running |  2 |         0 |\r\n| 11-test |  pg3   | 10.0.3.46 |        | running |  1 |         0 |\r\n+---------+--------+-----------+--------+---------+----+-----------+\r\n[...]\r\n+---------+--------+-----------+--------+---------+----+-----------+\r\n| Cluster | Member |    Host   |  Role  |  State  | TL | Lag in MB |\r\n+---------+--------+-----------+--------+---------+----+-----------+\r\n| 11-test |  pg2   | 10.0.3.41 | Leader | running |  2 |         0 |\r\n| 11-test |  pg3   | 10.0.3.46 |        | running |  2 |         0 |\r\n+---------+--------+-----------+--------+---------+----+-----------+\r\n<\/code><\/pre>\n<p>The old primary will rejoin the cluster as standby once it is restarted:<\/p>\n<pre><code>+---------+--------+------------+--------+---------+----+-----------+\r\n| Cluster | Member |    Host    |  Role  |  State  | TL | Lag in MB |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n| 11-test |  pg1   | 10.0.3.111 |        | running |    |   unknown |\r\n| 11-test |  pg2   | 10.0.3.41  | Leader | running |  2 |         0 |\r\n| 11-test |  pg3   | 10.0.3.46  |        | running |  2 |         0 |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n[...]\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n| Cluster | Member |    Host    |  Role  |  State  | TL | Lag in MB |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n| 11-test |  pg1   | 10.0.3.111 |        | running |  2 |         0 |\r\n| 11-test |  pg2   | 10.0.3.41  | Leader | running |  2 |         0 |\r\n| 11-test |  pg3   | 10.0.3.46  |        | running |  2 |         0 |\r\n+---------+--------+------------+--------+---------+----+-----------+\r\n<\/code><\/pre>\n<p>If a clean rejoin is not possible due to additional transactions on the old timeline the old primary gets re-cloned from the current leader. In case the data is too large for a quick re-clone, <code>pg_rewind<\/code> can be used. In this case a password needs to be set for the <code>postgres<\/code> user and regular database connections (as opposed to replication connections) need to be allowed between the cluster nodes.<\/p>\n<h2>Creation of additional Instances<\/h2>\n<p>It is also possible to create further clusters with <code>pg_createconfig_patroni<\/code>, one can either assign a PostgreSQL port explicitly via the <code>--port<\/code> option, or let <code>pg_createconfig_patroni<\/code> assign the next free port as is known from <code>pg_createcluster<\/code>:<\/p>\n<pre><code>for i in pg1 pg2 pg3; do ssh $i 'pg_createconfig_patroni 11 test2 &amp;&amp; systemctl start patroni@11-test2'; done\r\nssh pg1 'patronictl -c \/etc\/patroni\/11-test2.yml list'\r\n+----------+--------+-----------------+--------+---------+----+-----------+\r\n| Cluster  | Member |       Host      |  Role  |  State  | TL | Lag in MB |\r\n+----------+--------+-----------------+--------+---------+----+-----------+\r\n| 11-test2 |  pg1   | 10.0.3.111:5433 | Leader | running |  1 |         0 |\r\n| 11-test2 |  pg2   |  10.0.3.41:5433 |        | running |  1 |         0 |\r\n| 11-test2 |  pg3   |  10.0.3.46:5433 |        | running |  1 |         0 |\r\n+----------+--------+-----------------+--------+---------+----+-----------+\r\n<\/code><\/pre>\n<h2>Ansible Playbook<\/h2>\n<p>In order to easily deploy a 3-node Patroni cluster we have created an Ansible playbook on <a href=\"https:\/\/github.com\/credativ\/ansible-playbook-patroni-debian\">Github<\/a>. It automates the installation and configuration of PostgreSQL and Patroni on the three nodes, as well as the DCS server on a fourth node.<\/p>\n<h2>Questions and Help<\/h2>\n<p>Do you have any questions or need help? Feel free to write to info@credativ.com.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Patroni is a PostgreSQL high availability solution with a focus on containers and Kubernetes. Until recently, the available Debian packages had to be configured manually and did not integrate well with the rest of the distribution. For the upcoming Debian 10 \u201cBuster\u201d release, the Patroni packages have been integrated into Debian\u2019s standard PostgreSQL framework by [&hellip;]<\/p>\n","protected":false},"author":37,"featured_media":2338,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_improvement_type_select":"improve_an_existing","_thumb_yes_seoaic":false,"_frame_yes_seoaic":false,"seoaic_generate_description":"","seoaic_improve_instructions_prompt":"","seoaic_rollback_content_improvement":"","seoaic_idea_thumbnail_generator":"","thumbnail_generated":false,"thumbnail_generate_prompt":"","seoaic_article_description":"","seoaic_article_subtitles":[],"footnotes":""},"categories":[1885,1708],"tags":[1710,1775,1798,1801],"class_list":["post-6715","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos-en","category-postgresql-en","tag-ansible-en","tag-debian-en","tag-patroni-en","tag-postgresql-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Integrating Patroni into Debian - credativ\u00ae<\/title>\n<meta name=\"description\" content=\"credativ\u00ae integrates Patroni into the Debian Standard PostgreSQL Framework and allows an easy setup of Patroni clusters under Debian. to the article:\" \/>\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.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integrating Patroni into Debian\" \/>\n<meta property=\"og:description\" content=\"credativ\u00ae integrates Patroni into the Debian Standard PostgreSQL Framework and allows an easy setup of Patroni clusters under Debian. to the article:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/\" \/>\n<meta property=\"og:site_name\" content=\"credativ\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/credativDE\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-27T08:05:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-06T12:09:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/02\/Integration-von-Patroni-in-Debian-Header.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2500\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michael Banck\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@credativde\" \/>\n<meta name=\"twitter:site\" content=\"@credativde\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Banck\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/\"},\"author\":{\"name\":\"Michael Banck\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#\\\/schema\\\/person\\\/038c79105ce9b5fd885631da3f806698\"},\"headline\":\"Integrating Patroni into Debian\",\"datePublished\":\"2019-01-27T08:05:33+00:00\",\"dateModified\":\"2022-04-06T12:09:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/\"},\"wordCount\":691,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/Integration-von-Patroni-in-Debian-Header.jpg\",\"keywords\":[\"Ansible\",\"Debian\",\"Patroni\",\"PostgreSQL\u00ae\"],\"articleSection\":[\"HowTos\",\"PostgreSQL\u00ae\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#respond\"]}],\"copyrightYear\":\"2019\",\"copyrightHolder\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/\",\"name\":\"Integrating Patroni into Debian - credativ\u00ae\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/Integration-von-Patroni-in-Debian-Header.jpg\",\"datePublished\":\"2019-01-27T08:05:33+00:00\",\"dateModified\":\"2022-04-06T12:09:35+00:00\",\"description\":\"credativ\u00ae integrates Patroni into the Debian Standard PostgreSQL Framework and allows an easy setup of Patroni clusters under Debian. to the article:\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/Integration-von-Patroni-in-Debian-Header.jpg\",\"contentUrl\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/Integration-von-Patroni-in-Debian-Header.jpg\",\"width\":2500,\"height\":300,\"caption\":\"Integration von Patroni in Debian Header\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integrating Patroni into Debian\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/\",\"name\":\"credativ GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Organization\",\"Place\"],\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#organization\",\"name\":\"credativ\u00ae\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/\",\"logo\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#local-main-organization-logo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#local-main-organization-logo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/credativDE\\\/\",\"https:\\\/\\\/x.com\\\/credativde\",\"https:\\\/\\\/mastodon.social\\\/@credativde\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/credativ-gmbh\",\"https:\\\/\\\/www.instagram.com\\\/credativ\\\/\"],\"description\":\"Die credativ GmbH ist ein f\u00fchrendes, auf Open Source Software spezialisiertes IT-Dienstleistungs- und Beratungsunternehmen. Wir bieten umfassende und professionelle Services, von Beratung und Infrastruktur-Betrieb \u00fcber 24\\\/7 Support bis hin zu individuellen L\u00f6sungen und Schulungen. Unser Fokus liegt auf dem ganzheitlichen Management von gesch\u00e4ftskritischen Open-Source-Systemen, darunter Betriebssysteme (z.B. Linux), Datenbanken (z.B. PostgreSQL), Konfigurationsmanagement (z.B. Ansible, Puppet) und Virtualisierung. Als engagierter Teil der Open-Source-Community unterst\u00fctzen wir unsere Kunden dabei, die Vorteile freier Software sicher, stabil und effizient in ihrer IT-Umgebung zu nutzen.\",\"legalName\":\"credativ GmbH\",\"foundingDate\":\"2025-03-01\",\"duns\":\"316387060\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"},\"address\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#local-main-place-address\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":\"51.1732374\",\"longitude\":\"6.392010099999999\"},\"telephone\":[\"+4921619174200\",\"08002733284\"],\"contactPoint\":{\"@type\":\"ContactPoint\",\"telephone\":\"08002733284\",\"email\":\"vertrieb@credativ.de\"},\"openingHoursSpecification\":[{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],\"opens\":\"09:00\",\"closes\":\"17:00\"},{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Saturday\",\"Sunday\"],\"opens\":\"00:00\",\"closes\":\"00:00\"}],\"email\":\"info@credativ.de\",\"areaServed\":\"D-A-CH\",\"vatID\":\"DE452151696\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#\\\/schema\\\/person\\\/038c79105ce9b5fd885631da3f806698\",\"name\":\"Michael Banck\",\"description\":\"Michael Banck ist seit 2009 Mitarbeiter der credativ GmbH, sowie seit 2001 Mitglied des Debian Projekts und auch in weiteren Open Source Projekten aktiv. Als Mitglied des Datenbank-Teams von credativ hat er in den letzten Jahren verschiedene Kunden bei der L\u00f6sung von Problemen mit und dem t\u00e4glichen Betrieb von PostgreSQL\u00ae, sowie bei der Einf\u00fchrung von Hochverf\u00fcgbarkeits-L\u00f6sungen im Bereich Datenbanken unterst\u00fctzt und beraten.\"},{\"@type\":\"PostalAddress\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#local-main-place-address\",\"streetAddress\":\"Hennes-Weisweiler-Allee 23\",\"addressLocality\":\"M\u00f6nchengladbach\",\"postalCode\":\"41179\",\"addressRegion\":\"Deutschland\",\"addressCountry\":\"DE\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/howtos\\\/integrating-patroni-into-debian\\\/#local-main-organization-logo\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/credativ-logo-right.svg\",\"contentUrl\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/credativ-logo-right.svg\",\"caption\":\"credativ\u00ae\"}]}<\/script>\n<meta name=\"geo.placename\" content=\"M\u00f6nchengladbach\" \/>\n<meta name=\"geo.position\" content=\"51.1732374;6.392010099999999\" \/>\n<meta name=\"geo.region\" content=\"Germany\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Integrating Patroni into Debian - credativ\u00ae","description":"credativ\u00ae integrates Patroni into the Debian Standard PostgreSQL Framework and allows an easy setup of Patroni clusters under Debian. to the article:","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.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/","og_locale":"en_US","og_type":"article","og_title":"Integrating Patroni into Debian","og_description":"credativ\u00ae integrates Patroni into the Debian Standard PostgreSQL Framework and allows an easy setup of Patroni clusters under Debian. to the article:","og_url":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/","og_site_name":"credativ\u00ae","article_publisher":"https:\/\/www.facebook.com\/credativDE\/","article_published_time":"2019-01-27T08:05:33+00:00","article_modified_time":"2022-04-06T12:09:35+00:00","og_image":[{"width":2500,"height":300,"url":"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/02\/Integration-von-Patroni-in-Debian-Header.jpg","type":"image\/jpeg"}],"author":"Michael Banck","twitter_card":"summary_large_image","twitter_creator":"@credativde","twitter_site":"@credativde","twitter_misc":{"Written by":"Michael Banck","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#article","isPartOf":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/"},"author":{"name":"Michael Banck","@id":"https:\/\/www.credativ.de\/en\/#\/schema\/person\/038c79105ce9b5fd885631da3f806698"},"headline":"Integrating Patroni into Debian","datePublished":"2019-01-27T08:05:33+00:00","dateModified":"2022-04-06T12:09:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/"},"wordCount":691,"commentCount":0,"publisher":{"@id":"https:\/\/www.credativ.de\/en\/#organization"},"image":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#primaryimage"},"thumbnailUrl":"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/02\/Integration-von-Patroni-in-Debian-Header.jpg","keywords":["Ansible","Debian","Patroni","PostgreSQL\u00ae"],"articleSection":["HowTos","PostgreSQL\u00ae"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#respond"]}],"copyrightYear":"2019","copyrightHolder":{"@id":"https:\/\/www.credativ.de\/#organization"}},{"@type":"WebPage","@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/","url":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/","name":"Integrating Patroni into Debian - credativ\u00ae","isPartOf":{"@id":"https:\/\/www.credativ.de\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#primaryimage"},"image":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#primaryimage"},"thumbnailUrl":"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/02\/Integration-von-Patroni-in-Debian-Header.jpg","datePublished":"2019-01-27T08:05:33+00:00","dateModified":"2022-04-06T12:09:35+00:00","description":"credativ\u00ae integrates Patroni into the Debian Standard PostgreSQL Framework and allows an easy setup of Patroni clusters under Debian. to the article:","breadcrumb":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#primaryimage","url":"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/02\/Integration-von-Patroni-in-Debian-Header.jpg","contentUrl":"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/02\/Integration-von-Patroni-in-Debian-Header.jpg","width":2500,"height":300,"caption":"Integration von Patroni in Debian Header"},{"@type":"BreadcrumbList","@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.credativ.de\/en\/"},{"@type":"ListItem","position":2,"name":"Integrating Patroni into Debian"}]},{"@type":"WebSite","@id":"https:\/\/www.credativ.de\/en\/#website","url":"https:\/\/www.credativ.de\/en\/","name":"credativ GmbH","description":"","publisher":{"@id":"https:\/\/www.credativ.de\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.credativ.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Organization","Place"],"@id":"https:\/\/www.credativ.de\/en\/#organization","name":"credativ\u00ae","url":"https:\/\/www.credativ.de\/en\/","logo":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#local-main-organization-logo"},"image":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#local-main-organization-logo"},"sameAs":["https:\/\/www.facebook.com\/credativDE\/","https:\/\/x.com\/credativde","https:\/\/mastodon.social\/@credativde","https:\/\/www.linkedin.com\/company\/credativ-gmbh","https:\/\/www.instagram.com\/credativ\/"],"description":"Die credativ GmbH ist ein f\u00fchrendes, auf Open Source Software spezialisiertes IT-Dienstleistungs- und Beratungsunternehmen. Wir bieten umfassende und professionelle Services, von Beratung und Infrastruktur-Betrieb \u00fcber 24\/7 Support bis hin zu individuellen L\u00f6sungen und Schulungen. Unser Fokus liegt auf dem ganzheitlichen Management von gesch\u00e4ftskritischen Open-Source-Systemen, darunter Betriebssysteme (z.B. Linux), Datenbanken (z.B. PostgreSQL), Konfigurationsmanagement (z.B. Ansible, Puppet) und Virtualisierung. Als engagierter Teil der Open-Source-Community unterst\u00fctzen wir unsere Kunden dabei, die Vorteile freier Software sicher, stabil und effizient in ihrer IT-Umgebung zu nutzen.","legalName":"credativ GmbH","foundingDate":"2025-03-01","duns":"316387060","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"},"address":{"@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#local-main-place-address"},"geo":{"@type":"GeoCoordinates","latitude":"51.1732374","longitude":"6.392010099999999"},"telephone":["+4921619174200","08002733284"],"contactPoint":{"@type":"ContactPoint","telephone":"08002733284","email":"vertrieb@credativ.de"},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":["Saturday","Sunday"],"opens":"00:00","closes":"00:00"}],"email":"info@credativ.de","areaServed":"D-A-CH","vatID":"DE452151696"},{"@type":"Person","@id":"https:\/\/www.credativ.de\/en\/#\/schema\/person\/038c79105ce9b5fd885631da3f806698","name":"Michael Banck","description":"Michael Banck ist seit 2009 Mitarbeiter der credativ GmbH, sowie seit 2001 Mitglied des Debian Projekts und auch in weiteren Open Source Projekten aktiv. Als Mitglied des Datenbank-Teams von credativ hat er in den letzten Jahren verschiedene Kunden bei der L\u00f6sung von Problemen mit und dem t\u00e4glichen Betrieb von PostgreSQL\u00ae, sowie bei der Einf\u00fchrung von Hochverf\u00fcgbarkeits-L\u00f6sungen im Bereich Datenbanken unterst\u00fctzt und beraten."},{"@type":"PostalAddress","@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#local-main-place-address","streetAddress":"Hennes-Weisweiler-Allee 23","addressLocality":"M\u00f6nchengladbach","postalCode":"41179","addressRegion":"Deutschland","addressCountry":"DE"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.credativ.de\/en\/blog\/howtos\/integrating-patroni-into-debian\/#local-main-organization-logo","url":"https:\/\/www.credativ.de\/wp-content\/uploads\/2025\/04\/credativ-logo-right.svg","contentUrl":"https:\/\/www.credativ.de\/wp-content\/uploads\/2025\/04\/credativ-logo-right.svg","caption":"credativ\u00ae"}]},"geo.placename":"M\u00f6nchengladbach","geo.position":{"lat":"51.1732374","long":"6.392010099999999"},"geo.region":"Germany"},"_links":{"self":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/posts\/6715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/comments?post=6715"}],"version-history":[{"count":0,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/posts\/6715\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/media\/2338"}],"wp:attachment":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/media?parent=6715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/categories?post=6715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/tags?post=6715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}