Postgres-Streaming-Replikation

  In diesem Beitrag wollen wir uns damit beschäftigen, wie Sie die Postgres-Streaming-Replikation einrichten können. Zusammenfassend ist die Postgres-Replikation der Vorgang des Kopierens von Daten von einem Datenbankserver auf einen anderen. Während sich dieser Beitrag auf die Streaming-Replikation konzentriert, gibt es auch die Möglichkeit der logischen Replikation. Weiter Informationen hierzu finden Sie in diesem Beitrag. Allgemein unterscheiden sich die Einrichtungen der Streaming-Replikation unter Windows und Linux nicht. Allerdings werden wir uns in dem ersten Abschnitt unseres Beitrags mit der Einrichtung unter Windows beschäftigen und in einem weiteren Abschnitt die sich hiervon unterscheidenden Befehle unter Linux aufführen. Zunächst gehen wir davon …

Weiterlesen …Postgres-Streaming-Replikation

PostgreSQL Crash-Dump-Dateien analysieren

1. Einleitung Wir werden uns in diesem Beitrag damit beschäftigen, wie die Generierung von Crash-Dump-Dateien (auch als Core-Dump bezeichnet) aktiviert werden kann und uns einige gängige GDB-Befehle anschauen, die Entwicklern bei der Behebung von Crash-Problemen in PostgreSQL und anderen Anwendungen helfen können. Eine ordnungsgemäße Analyse des Problems erfordert normalerweise Zeit und ein gewisses Maß an Wissen über den Quellcode der Anwendung, jedoch ist es manchmal besser, die größere Umgebung zu betrachten, als den Absturzpunkt. 2. Was ist eine Crash-Dump-Datei? Eine Crash-Dump-Datei ist eine Datei, die aus dem aufgezeichneten Status des Arbeitsspeichers einer Anwendung besteht wenn diese abstürzt. Dieser Zustand wird durch …

Weiterlesen …PostgreSQL Crash-Dump-Dateien analysieren

Nützliche Abfragen für die PostgreSQL-Indexpflege

PostgreSQL verfügt über zahlreiche Indexierungsfunktionen und es gibt viele Artikel, in denen die Syntax, Verwendung und der Wert des Index erläutert werden. In diesem Artikel werden wir grundlegende und nützliche Abfragen vorstellen, die den Status von Datenbankindexen anzeigen. Die Benutzer entwickeln Datenbanken und vergessen nach einiger Zeit, wenn Änderungen an der Architektur der Software vorgenommen werden müssen, die Bereinigung der vorherigen Indexe durchzuführen. Dies führt zu einem Durcheinander und verlangsamt manchmal die Datenbank aufgrund zu vieler Indexe. Jedes Mal, wenn wir eine Aktualisierung oder Einfügung durchführen, wird der Index zusammen mit der tatsächlichen Tabelle aktualisiert, sodass eine Bereinigung erforderlich ist. Bevor wir die Abfragen …

Weiterlesen …Nützliche Abfragen für die PostgreSQL-Indexpflege

PostgreSQL – Datenkonsistenzprobleme bei der logischen Replikation

Im Gegensatz zur physischen Replikation ist der Schreibzugriff auf den Teilnehmerknoten bei der logischen Replikation nicht deaktiviert. Dies bedeutet, dass DML- und DDL-Anweisungen wie INSERT, UPDATE, DELETE oder ALTER auf dem Abonnenten ausgeführt werden können. Da die Replikation jedoch unidirektional ist, werden diese Änderungen nicht zurück an den Herausgeber repliziert. Dieses Verhalten kann zu Problemen führen – die Replikation kann mit all ihren Konsequenzen gestoppt werden oder die Daten können nicht mehr synchron sein. In diesem Beitrag möchten wir einige Tipps zum Umgang mit solchen Problemen geben. Zur Erinnerung können Sie hier noch einmal sehen, wie die Architektur der logischen …

Weiterlesen …PostgreSQL – Datenkonsistenzprobleme bei der logischen Replikation

PostgreSQL – Logische Replikation

ZUSAMMENFASSUNG: In diesem Beitrag wird die logische Replikation in PostgreSQL erläutert. Es werden die Unterschiede zwischen physischer oder binärer Replikation und logischer oder transaktionaler Replikation überprüft. Anschließend werden die folgenden Komponenten der logischen Replikation beschrieben: Architektur Grundlegende Syntax Ein Beispiel   Postgres hat die physische (binäre) Replikation ab PostgreSQL 9.0 eingeführt. Bei der physischen Replikation wird jede Änderung im Master über die WAL (Write-Ahead-Protokollierung) gestreamt und auf den Standby-/Zielserver angewendet. Bestimmte Dinge sind jedoch bei Verwendung der physischen Replikation nicht möglich: Es kann keine selektive Replikation durchgeführt werden oder ein Teil der Datenbank kann nicht repliziert werden. Es kann nicht zwischen zwei verschiedenen Hauptversionen …

Weiterlesen …PostgreSQL – Logische Replikation

Postgres-Statistiken mit Hilfe von Snapshots analysieren

Datenbankanwendungen sind lebendige Systeme, die sich auf unerwartete Weise verhalten können. Deshalb ist es wichtig, sich über den Workload zu informieren und zu verstehen, wie eine Postgres-Instanz abgefragt wird. Es gibt viele Gründe, warum diese Daten nützlich sein können. Schauen wir uns jedoch einige Beispiele an und gehen auf einige Skripte ein, mit denen Sie diese zu etwas Nützlichem zusammenfassen können. Besuchen Sie zunächst die Toolbox von pgCraftsman, um ein benutzerfreundliches Snapshot-Skript zu finden. Dieses Skript ist so konzipiert, dass es vollständig in sich geschlossen ist. Es wird mit jeder gewünschten Häufigkeit ausgeführt und speichert Snapshots der kritischen Überwachungstabellen direkt in Ihrer Datenbank. Es sind …

Weiterlesen …Postgres-Statistiken mit Hilfe von Snapshots analysieren

PostgreSQL Datenbank unter Windows sichern und wiederherstellen

Postgres bietet drei unterschiedliche Ansätze zum Sichern von Daten: SQL-Dump Backup auf Dateisystemebene Kontinuierliche Archivierung Wir wollen Dir hier einen kurzen Einblick in diese verschiedenen Methoden geben. So erstellst du eine PostgreSQL-Dump-Datei In Postgres wird zum Extrahieren einer Datenbank in eine Skriptdatei oder eine andere Archivdatei ein Dienstprogramm namens pg_dump verwendet. Ein entscheidender Vorteil dieses Dienstprogramms besteht darin, dass man seine Dumps auf neueren Versionen von PostgreSQL oder auf Computern mit unterschiedlichen Architekturen wiederherstellen kann. Die anderen Sicherungsmethoden sind an eine bestimmte Serverversion und -architektur gebunden. Die einfachste Verwendung dieses Befehls ist: pg_dump database_name > database.sql oder pg_dump database_name -f database.sql Dieser …

Weiterlesen …PostgreSQL Datenbank unter Windows sichern und wiederherstellen

Ansible: Backup einer remote PostgreSQL-Datenbank erstellen

Einführung In diesem Artikel wollen wir darauf eingehen, wie man mithilfe eines Ansible Playbooks die Erstellung und den Download eines Datenbankdumps von einem Remote-Server automatisieren kann. Dieses Playbook führt folgende Schritte aus: Richtet ein Sicherungsverzeichnis auf dem lokalen PC unter /tmp/bkups/blog/postgres/db ein. Führt einen Shell-Befehl in einem Postgres-Docker-Container auf einem Remote-Server aus, der die Datenbank auf ein eingebundenes Volumen dumpt. Im letzten Schritt wird die gedumpte Datenbank von dem Remote-Server in das Sicherungsverzeichnis auf dem lokalen PC heruntergeladen Implementierung Erster Schritt: So erstellst Du ein lokales Sicherungsverzeichnis Mit der folgenden Ansible-Playbook-Eingabe erstellst Du ein lokales Sicherungsverzeichnis: – name: Fetch a backup …

Weiterlesen …Ansible: Backup einer remote PostgreSQL-Datenbank erstellen

Aktiv-Aktiv PostgreSQL Cluster: Eine Einführung

Eine der größten Herausforderungen für Datenbank-Entwickler besteht heutzutage darin, sicherzustellen, dass ihre Daten immer verfügbar sind, damit sie die Hochverfügbarkeitsanforderungen ihrer Anwendungen erfüllen können. Die PostgreSQL-Replikation hat in den letzten Hauptversionen erhebliche Fortschritte gemacht. Neben verschiedener Verbesserungen und Erweiterungen werden jedoch Anwendungsfälle, in denen die Anwendung Zugriff auf eine aktualisierte Datenbank in mehr als einer geografischen Region benötigt, häufig als “Aktiv-Aktiv”-Cluster bezeichnet, nicht berücksichtigt. Genauer gesagt handelt es sich bei einem Aktiv-Aktiv-Cluster um einen Cluster, bei dem eine Anwendung auf jeder Instanz Änderungen vornehmen kann, die dann in allen Instanzen repliziert werden, sodass jede Instanz im Cluster verwendet werden kann, um: nahezu …

Weiterlesen …Aktiv-Aktiv PostgreSQL Cluster: Eine Einführung

PostgreSQL Docker & Windows Server 2019

  Einführung PostgreSQL, auch Postgres genannt, ist ein objektrelationales Open Source Datenbankmanagementsystem. Mit MySQL gehört PostgreSQL zu den beliebtesten relationalen Datenbankmanagementsystemen. Heute ist Postgres eines der häufigsten verwendeten Docker-Images, das in Form von Containern ausgeführt wird. Die Beliebtheit von containerisierten Datenbanken geht auf die Einfachheit zurück, mit der sie bereitgestellt werden. Anstatt eine zentrale Datenbank zu haben, können Entwickler außerdem für jede Anwendung einen PostgreSQL-Container verwenden. Wir werden uns hier damit beschäftigen, wie man PostgreSQL auf einem Docker Container ausführen und wie man eine PostgreSQL-Datenbank sichern kann.   Voraussetzungen Zugriff auf Windows Powershell Ein Benutzerkonto mit Administrator-Berechtigung Eine vorhandene Docker-Installation …

Weiterlesen …PostgreSQL Docker & Windows Server 2019