<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Konzept on PIG.CENTER</title><link>https://pig.center/de/categories/konzept/</link><description>Recent content in Konzept on PIG.CENTER</description><generator>Hugo</generator><language>de-DE</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/de/categories/konzept/index.xml" rel="self" type="application/rss+xml"/><item><title>Funktionen</title><link>https://pig.center/de/docs/pgbouncer/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/pgbouncer/features/</guid><description>&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Mehrere Pooling-Modi mit unterschiedlich restriktiver Verbindungszuweisung:&lt;/p&gt;&#10;&lt;dl&gt;&#10;&lt;dt&gt;&lt;strong&gt;Sitzungs-Pooling&lt;/strong&gt;&lt;/dt&gt;&#10;&lt;dd&gt;Die am wenigsten restriktive Methode. Wenn ein Client eine Verbindung herstellt, wird ihm für die gesamte Dauer der Clientverbindung eine Serververbindung zugewiesen. Trennt der Client die Verbindung, wird die Serververbindung wieder in den Pool zurückgegeben. Dieser Modus unterstützt sämtliche PostgreSQL-Funktionen.&lt;/dd&gt;&#10;&lt;dt&gt;&lt;strong&gt;Transaktions-Pooling&lt;/strong&gt;&lt;/dt&gt;&#10;&lt;dd&gt;Eine Serververbindung wird einem Client nur für die Dauer einer Transaktion zugewiesen. Sobald PgBouncer erkennt, dass die Transaktion beendet ist, wird die Serververbindung wieder in den Pool zurückgegeben. Dieser Modus ist mit einigen sitzungsbezogenen Funktionen von PostgreSQL nicht kompatibel. Er kann nur eingesetzt werden, wenn die Anwendung darauf abgestimmt ist und keine inkompatiblen Funktionen verwendet. Die folgende Tabelle führt diese Funktionen auf.&lt;/dd&gt;&#10;&lt;dt&gt;&lt;strong&gt;Statement-Pooling&lt;/strong&gt;&lt;/dt&gt;&#10;&lt;dd&gt;Die restriktivste Methode. Sie entspricht dem Transaktions-Pooling, lässt jedoch keine Transaktionen mit mehreren Anweisungen zu. Damit wird auf der Clientseite der „Autocommit“-Modus erzwungen; der Modus ist vor allem für PL/Proxy vorgesehen.&lt;/dd&gt;&#10;&lt;/dl&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Geringer Speicherbedarf (standardmäßig 2 kB pro Verbindung), da PgBouncer vollständige Pakete nicht auf einmal einlesen muss.&lt;/p&gt;</description></item><item><title>Patroni 4.1.5 Dokumentation</title><link>https://pig.center/de/docs/patroni/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/patroni/</guid><description>&lt;div class="td-callout td-callout--warning" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-triangle-exclamation" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;Warnung&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;Betrieb von Patroni auf &lt;strong&gt;Systemen mit begrenztem Arbeitsspeicher und Python 3.11+&lt;/strong&gt;&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;Wenn Sie Patroni auf einem System mit strengen Speichergrenzen betreiben, beispielsweise mit &lt;code&gt;vm.overcommit_memory=2&lt;/code&gt; (für PostgreSQL empfohlen), und Python 3.11 oder neuer verwenden, kann unerwartetes Verhalten auftreten:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Patroni scheint ordnungsgemäß zu funktionieren&lt;/li&gt;&#10;&lt;li&gt;PostgreSQL läuft weiter&lt;/li&gt;&#10;&lt;li&gt;Die &lt;strong&gt;REST API von Patroni reagiert nicht mehr&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;Das Betriebssystem meldet, dass Patroni auf dem REST API-Port lauscht&lt;/li&gt;&#10;&lt;li&gt;Die Patroni-Protokolle erscheinen normal; einmalig können jedoch folgende Meldungen auftreten: &lt;code&gt;Exception ignored in thread started by: &amp;lt;object repr() failed&amp;gt;&lt;/code&gt;, &lt;code&gt;MemoryError&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Die Kernel-Protokolle können Meldungen wie &lt;code&gt;not enough memory for the allocation&lt;/code&gt; enthalten&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Dieses Verhalten wird durch einen &lt;a href="https://github.com/python/cpython/issues/140746"&gt;Fehler in Python 3.11+&lt;/a&gt;&#10; verursacht. Bei strengen Speichergrenzen kann der Start eines neuen Threads auf unbestimmte Zeit hängen bleiben, wenn nicht genügend freier Arbeitsspeicher verfügbar ist.&lt;/p&gt;</description></item><item><title>Dokumentation zu PgBouncer 1.25.2</title><link>https://pig.center/de/docs/pgbouncer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/pgbouncer/</guid><description>&lt;p&gt;&lt;strong&gt;PgBouncer&lt;/strong&gt; ist ein Verbindungspooler für PostgreSQL. Eine beliebige Client-Anwendung kann sich mit &lt;strong&gt;PgBouncer&lt;/strong&gt; verbinden, als handele es sich um einen PostgreSQL-Server. &lt;strong&gt;PgBouncer&lt;/strong&gt; stellt dann eine Verbindung zum eigentlichen Server her oder verwendet eine bereits bestehende Verbindung.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;PgBouncer&lt;/strong&gt; soll die Leistungseinbußen verringern, die beim Aufbau neuer Verbindungen zu PostgreSQL entstehen.&lt;/p&gt;&#10;&lt;p&gt;Damit die Transaktionssemantik beim Verbindungs-Pooling gewahrt bleibt, unterstützt &lt;strong&gt;PgBouncer&lt;/strong&gt; mehrere Pooling-Modi, die sich in der Dauer der Verbindungszuweisung unterscheiden:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Sitzungs-Pooling&lt;/strong&gt;: Die am wenigsten restriktive Methode. Sobald ein Client eine Verbindung herstellt, wird ihm für die gesamte Verbindungsdauer eine Serververbindung zugewiesen. Trennt der Client die Verbindung, wird die Serververbindung wieder in den Pool zurückgegeben. Dies ist die Standardmethode.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Transaktions-Pooling&lt;/strong&gt;: Eine Serververbindung wird einem Client nur für die Dauer einer Transaktion zugewiesen. Sobald PgBouncer erkennt, dass die Transaktion beendet ist, wird die Serververbindung wieder in den Pool zurückgegeben.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Statement-Pooling&lt;/strong&gt;: Die restriktivste Methode. Die Serververbindung wird unmittelbar nach Abschluss einer Abfrage in den Pool zurückgegeben. Transaktionen mit mehreren Anweisungen sind in diesem Modus nicht zulässig.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Dokumentation zu pgBadger 13.2</title><link>https://pig.center/de/docs/pgbadger/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/pgbadger/</guid><description>&lt;img class="td-image" src="https://pig.center/img/docs/pgbadger/logo.png" alt="pgBadger-Logo" title="pgBadger" loading="lazy" decoding="async"&gt;&lt;p&gt;&lt;strong&gt;pgBadger&lt;/strong&gt; ist ein schnelles, eigenständiges und in Perl geschriebenes Analyseprogramm für PostgreSQL-Protokolle. Es liest PostgreSQL- oder PgBouncer-Protokolle und erzeugt detaillierte Ausgaben als HTML, Text, Binärdaten, JSON oder Roh-CSV. Die HTML-Berichte sind in sich geschlossen, interaktiv und zoombar; zur Anzeige genügt ein Webbrowser.&lt;/p&gt;&#10;&lt;h2 id="why-pgbadger"&gt;Warum pgBadger&#10;&lt;/h2&gt;&#10;&lt;p&gt;pgBadger ist für große Protokolle und den betrieblichen Einsatz konzipiert:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;ein einziges Perl-Programm ohne obligatorische Module außerhalb der Perl-Standardbibliothek;&lt;/li&gt;&#10;&lt;li&gt;automatische Erkennung von &lt;code&gt;stderr&lt;/code&gt;, &lt;code&gt;syslog&lt;/code&gt;, &lt;code&gt;csvlog&lt;/code&gt;, &lt;code&gt;jsonlog&lt;/code&gt;, RDS, Cloud SQL, logplex, Redshift und PgBouncer-Eingabe;&lt;/li&gt;&#10;&lt;li&gt;direktes Lesen lokaler Dateien, der Standardeingabe, entfernter Dateien über SSH sowie von HTTP-, FTP- oder SFTP-URLs;&lt;/li&gt;&#10;&lt;li&gt;mit gzip, bzip2, lz4, xz, zip oder zstd komprimierte Eingaben;&lt;/li&gt;&#10;&lt;li&gt;parallele Analyse einer großen Datei oder vieler kleiner Dateien;&lt;/li&gt;&#10;&lt;li&gt;tägliche und wöchentliche inkrementelle Berichte sowie monatliche Berichte auf Abruf;&lt;/li&gt;&#10;&lt;li&gt;Filter nach Zeit, Datenbank, Benutzer, Client, Anwendung, Prozess, Sitzung und Abfragemuster.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="report-coverage"&gt;Was die Berichte enthalten&#10;&lt;/h2&gt;&#10;&lt;p&gt;Die PostgreSQL-Berichte umfassen:&lt;/p&gt;</description></item><item><title>etcd 3.7 Dokumentation</title><link>https://pig.center/de/docs/etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/etcd/</guid><description>&lt;p&gt;etcd ist ein verteiltes Schlüssel-Wert-System mit starker Konsistenz. Diese Anleitungen behandeln die Installation und den Betrieb von etcd, die Entwicklung von Anwendungen mit seinen APIs, den internen Aufbau, Leistungsmessungen sowie Upgrades und Downgrades von Clustern innerhalb der Versionsreihe 3.7.&lt;/p&gt;&#10;&lt;p&gt;Beginnen Sie mit dem &lt;a href="https://pig.center/de/docs/etcd/quickstart/"&gt;Schnellstart&lt;/a&gt;&#10; für einen lokalen Cluster mit einem einzelnen Mitglied, der &lt;a href="https://pig.center/docs/etcd/install/" hreflang="en" data-fallback-language="en"&gt;Installation&lt;/a&gt;&#10; für unterstützte Installationswege oder dem &lt;a href="https://pig.center/docs/etcd/op-guide/" hreflang="en" data-fallback-language="en"&gt;Betriebshandbuch&lt;/a&gt;&#10; für Produktionsumgebungen.&lt;/p&gt;</description></item><item><title>Community</title><link>https://pig.center/de/docs/pgbouncer/community/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/pgbouncer/community/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="tutorials"&gt;Tutorials&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://get.enterprisedb.com/docs/Tutorial_All_PPSS_pgBouncer.pdf"&gt;So konfigurieren Sie PgBouncer für Postgres Plus Standard Server&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Gute Übersicht über PgBouncer-Konzepte.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="http://www.depesz.com/2012/12/02/what-is-the-point-of-bouncing/"&gt;Wozu dient das „Bouncing“?&lt;/a&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Beschreibt die Unterschiede zwischen den Pooling-Modi.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="support"&gt;Support&#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer"&gt;Projektseite&lt;/a&gt;&#10; auf GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer/issues"&gt;Issue-Tracker&lt;/a&gt;&#10; auf GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/tagged/pgbouncer"&gt;PgBouncer-Themenbereich&lt;/a&gt;&#10; auf Stack Overflow&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/pgbouncer/pgbouncer/discussions"&gt;Community-Diskussionen&lt;/a&gt;&#10; auf GitHub&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Watchdog-Unterstützung</title><link>https://pig.center/de/docs/patroni/watchdog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/patroni/watchdog/</guid><description>&lt;p&gt;&lt;a id="watchdog"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Das gleichzeitige Ausführen mehrerer PostgreSQL-Server als primäre Server kann zu Datenverlusten aufgrund von unterschiedlichen Zeitlinien führen. Diese Situation wird auch als &amp;ldquo;Split-Brain&amp;rdquo;-Problem bezeichnet. Um das Split-Brain-Problem zu vermeiden, muss Patroni sicherstellen, dass PostgreSQL keine Transaktionsbestätigungen akzeptiert, nachdem der Schlüssel für den primären Server in der DCS abgelaufen ist. Unter normalen Umständen versucht Patroni, dies durch das Stoppen von PostgreSQL zu erreichen, falls der Update-Vorgang für den primären Schlüssel aus irgendeinem Grund fehlschlägt. Dies kann jedoch aus verschiedenen Gründen fehlschlagen:&lt;/p&gt;</description></item><item><title>Integration mit anderen Tools</title><link>https://pig.center/de/docs/patroni/tools_integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/patroni/tools_integration/</guid><description>&lt;p&gt;&lt;a id="tools_integration"&gt;&lt;/a&gt;&#10;Patroni kann sich in andere Tools in Ihrer Umgebung integrieren. In diesem Abschnitt finden Sie eine Liste von Beispielen, die zwar keine vollständige Liste darstellen, aber Ihnen Ideen geben können, wie Patroni mit anderen Tools zusammenarbeiten kann.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="barman"&gt;Barman&#10;&lt;/h2&gt;&#10;&lt;p&gt;Patroni liefert eine Anwendung namens &lt;code&gt;patroni_barman&lt;/code&gt;, die über Logik verfügt, um mit &lt;code&gt;pg-backup-api&lt;/code&gt; zu kommunizieren, sodass Sie Barman-Operationen entfernt durchführen können.&lt;/p&gt;&#10;&lt;p&gt;Diese Anwendung verfügt derzeit über mehrere Unterkommandos: &lt;code&gt;recover&lt;/code&gt; und &lt;code&gt;config-switch&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Sicherheitshinweise</title><link>https://pig.center/de/docs/patroni/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/patroni/security/</guid><description>&lt;p&gt;&lt;a id="security"&gt;&lt;/a&gt;&#10;Ein Patroni-Cluster verfügt über zwei Schnittstellen, die vor unbefugtem Zugriff geschützt werden müssen: das verteilte Konfigurationsspeicher (DCS) und die Patroni REST-API.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="protecting-dcs"&gt;Schutz des DCS&#10;&lt;/h2&gt;&#10;&lt;p&gt;Sowohl Patroni als auch &lt;a href="https://pig.center/docs/patroni/patronictl/#patronictl" hreflang="en" data-fallback-language="en"&gt;patronictl&lt;/a&gt;&#10; speichern und abrufen Daten von/zum DCS.&lt;/p&gt;&#10;&lt;p&gt;Obwohl der DCS keine sensiblen Informationen enthält, ermöglicht er die Änderung einiger Konfigurationen von Patroni/Postgres. Daher sollte der DCS selbst daher als erstes geschützt werden.&lt;/p&gt;&#10;&lt;p&gt;Die Details zum Schutz hängen vom verwendeten Typ des DCS ab. Die Authentifizierungs- und Verschlüsselungsparameter (Token/Basic-Auth/Client-Zertifikate) für die unterstützten DCS-Typen sind in den &lt;a href="https://pig.center/docs/patroni/config/yaml/#yaml" hreflang="en" data-fallback-language="en"&gt;Einstellungen&lt;/a&gt;&#10; beschrieben.&lt;/p&gt;</description></item><item><title>HA-Multi-Datacenter</title><link>https://pig.center/de/docs/patroni/ha_multi_dc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/de/docs/patroni/ha_multi_dc/</guid><description>&lt;p&gt;&lt;a id="ha_multi_dc"&gt;&lt;/a&gt;&#10;Die Hochverfügbarkeit eines PostgreSQL-Clusters, der in mehreren Rechenzentren bereitgestellt wird, basiert auf Replikation, die synchron oder asynchron erfolgen kann (siehe &lt;a href="https://pig.center/docs/patroni/replication_modes/#replication_modes" hreflang="en" data-fallback-language="en"&gt;Replikationsmodi&lt;/a&gt;&#10;).&lt;/p&gt;&#10;&lt;p&gt;In beiden Fällen ist es wichtig, die folgenden Konzepte klar zu verstehen:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;PostgreSQL kann nur als primärer oder sekundärer Knoten betrieben werden, wenn es den Schlüssel besitzt und diesen aktualisieren kann.&lt;/li&gt;&#10;&lt;li&gt;Sie sollten eine ungerade Anzahl von etcd-, ZooKeeper- oder Consul-Knoten betreiben: 3 oder 5!&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="synchronous-replication"&gt;Synchrones Replikation&#10;&lt;/h2&gt;&#10;&lt;p&gt;Um einen mehrere Rechenzentrum (DC) umfassenden Cluster zu haben, der automatisch einen Ausfall einer Zone tolerieren kann, sind mindestens 3 erforderlich.&lt;/p&gt;</description></item></channel></rss>