Could we help you? Please click the banners. We are young and desperately need the money
Nach einem Update von Veeam Backup & Replication kann beim Application-Aware Processing plötzlich folgende Warnung erscheinen:
Failed to explore PostgreSQL instance ...
Betroffen sind häufig Windows-Server, auf denen Anwendungen eine eigene PostgreSQL-Datenbank mitbringen, beispielsweise ManageEngine-Produkte, Monitoring-, ERP- oder andere Serversoftware.
Wird eine solche eingebettete PostgreSQL-Instanz von Veeam erkannt, obwohl sie nicht PostgreSQL-spezifisch verarbeitet werden soll, kann sie gezielt ausgeschlossen werden. Das normale VM-Backup bleibt dabei bestehen.
Zuerst muss ermittelt werden, welche PostgreSQL-Prozesse auf dem Server laufen.
PowerShell als Administrator öffnen und folgenden Befehl ausführen:
Get-CimInstance Win32_Process -Filter "Name='postgres.exe'" | Select ProcessId,ExecutablePath,CommandLine
Die Ausgabe zeigt unter anderem die Process ID, den Pfad zur postgres.exe und die vollständigen Startparameter.
Da PostgreSQL normalerweise mehrere Prozesse startet, wird der Hauptprozess gesucht. Anschliessend dessen PID verwenden:
(Get-CimInstance Win32_Process -Filter "ProcessId=PID").CommandLine
PID durch die zuvor ermittelte Process ID ersetzen.
Beispiel:
postgres.exe -D "C:/Program Files/Software/pgsql/data" -p8028
Dabei gilt:
-D = PostgreSQL-Daten- und Konfigurationsverzeichnis-p = tatsächlich verwendeter PostgreSQL-PortGerade integrierte PostgreSQL-Installationen verwenden häufig nicht den Standardport 5432.
Falls mehrere PostgreSQL-Installationen vorhanden sind, können alle postgresql.conf-Dateien gesucht werden:
Get-ChildItem C:\ -Filter postgresql.conf -Recurse -ErrorAction SilentlyContinue | Select FullName
In der betreffenden postgresql.conf kann anschliessend der konfigurierte Port geprüft werden, zum Beispiel:
port = 8028
Damit lässt sich die von Veeam gemeldete Instanz eindeutig einer Installation zuordnen.
Auf dem betroffenen Windows-Server folgenden Ordner erstellen, falls er noch nicht vorhanden ist:
C:\ProgramData\Veeam\Backup\PostgreSqlConfig
Darin folgende Datei erstellen:
VeeamPostgreSQLAgent.xml
Die XML-Konfiguration muss einzeilig gespeichert werden.
Beispiel:
<config ExcludeConfigDirs="C:\PFAD\ZUM\PostgreSQL\data\" />
<config ExcludeConfigDirs="C:\Program Files\UEMS_CentralServer\pgsql\data\" />
<config ExcludeConfigDirs="C:\Program Files\ManageEngine\ServiceDesk\pgsql\data\" />
ExcludeConfigDirs verhindert, dass Veeam diese PostgreSQL-Konfiguration erneut PostgreSQL-spezifisch verarbeitet.
Darauf achten, dass die Datei wirklich VeeamPostgreSQLAgent.xml und nicht versehentlich VeeamPostgreSQLAgent.xml.txt heisst.
Wichtig: Der PostgreSQL-Ordner wird dadurch nicht aus dem eigentlichen VM-Backup ausgeschlossen.
Die Dateien und virtuellen Festplatten werden weiterhin normal gesichert. Übersprungen wird lediglich die spezielle PostgreSQL-Verarbeitung durch Veeam für diese Instanz.
Das ist besonders sinnvoll bei eingebetteten PostgreSQL-Datenbanken von Drittanbieter-Anwendungen, für die keine PostgreSQL-spezifische Sicherung durch Veeam benötigt wird.
Nach dem Speichern der Konfigurationsdatei den betroffenen Veeam-Backupjob erneut starten.
Die Meldung
Failed to explore PostgreSQL instance ...
sollte für die ausgeschlossene Instanz nicht mehr erscheinen.
| Methode | Einsatz | Empfehlung |
|---|---|---|
| ExcludeConfigDirs | Eingebettete PostgreSQL-Datenbank | Empfohlen |
| Application-Aware Processing deaktivieren | Keine App-Aware-Verarbeitung benötigt | Nur in Ausnahmefällen |
| PostgreSQL-Verarbeitung reparieren | Produktive PostgreSQL-Datenbank | Empfohlen |
Handelt es sich um eine produktive PostgreSQL-Datenbank, die bewusst anwendungskonsistent mit Veeam gesichert werden soll, sollte ExcludeConfigDirs nicht verwendet werden.
In diesem Fall sollten stattdessen Port, Berechtigungen, Authentifizierung und PostgreSQL-Konfiguration geprüft und die eigentliche Ursache der Veeam-Warnung behoben werden.