PostgreSQL
Der PostgreSQL-Konnektor ist als Vorabversion eingestuft. Lesen ist funktionsfähig, Schreiben wird nicht unterstützt. Vor einem produktiven Einsatz bitte WYSA kontaktieren.
Der PostgreSQL-Konnektor ermöglicht das Lesen von Daten aus PostgreSQL-Datenbanken und deren Übertragung in andere Systeme.
| Eigenschaft | Wert |
|---|---|
| Lesen | ⚠️ Preview |
| Schreiben | — nicht unterstützt |
| Job-Filter | ✅ wird als WHERE-Klausel übernommen |
| Status | Preview |
Wie beim MSSQL-Konnektor wird der Inhalt des Feldes Filter am Job — nach
Ersetzung des Platzhalters %watermark% — wörtlich hinter WHERE eingesetzt. Ohne Eintrag
im Feld Filter entsteht keine WHERE-Klausel und der Job liest bei jedem Lauf die
vollständige Tabelle. Der Ausdruck muss gültiges PostgreSQL-SQL sein; es findet keine
Parametrisierung statt. Details zur Filter-Syntax siehe MSSQL — Filter.
Ein PostgreSQL-System als TargetConnection führt zur Laufzeit zu einem Abbruch. Der
Konnektor ist ausschließlich als Quellsystem einsetzbar. Auch das Löschen von Datensätzen
ist nicht implementiert.
Verbindungsparameter
{
"connectionstring": "<PostgreSQL Connection String>"
}
Beispiel (Npgsql-Format):
Host=<server>;Database=<db>;Username=<user>;Password=<password>;
Optionale Parameter
| Parameter | Standardwert | Beschreibung |
|---|---|---|
commandTimeOut | 30 | Zeitlimit für einzelne SQL-Befehle in Sekunden |
maxPageSize | 5000 | Anzahl Datensätze je Seite. Steuert LIMIT und OFFSET der erzeugten Abfrage. |
language | de-DE | Kultur, in der gelesene Zahlen- und Datumswerte formatiert werden |
keyVaultUrl | (leer) | Key-Vault-Secret-URL; ersetzt sämtliche übrigen Parameter |
Tabellen- und Feldnamen
| Einstellung | Wert |
|---|---|
| SourceTable | Tabellenname, ggf. mit Schema-Präfix (z. B. public.customers) |
| SourceField | Spaltenname (in PostgreSQL üblicherweise Kleinbuchstaben) |
Der Wert aus SourceTable wird unverändert hinter FROM eingesetzt.
Änderungserkennung (Watermark)
| Eigenschaft | Wert |
|---|---|
| WatermarkType | date oder datetime |
| WatermarkField | Name der Zeitstempel-Spalte |
Die Spalte aus WatermarkField wird zusätzlich zu den gemappten Feldern abgefragt und für
die Sortierung (ORDER BY … ASC) verwendet.
Geeignet sind timestamp, timestamptz und date — der Wert wird dann als
ISO-Zeitstempel weitergereicht. Eine Spalte anderen Typs, etwa bigint oder xid, führt
nicht mehr zu einem Abbruch, wird aber unverändert über ToString() weitergegeben.
Datentypen — gelesene Werte
Da Schreiben nicht unterstützt wird, ist allein der Lesepfad relevant. Der Typ ergibt sich aus dem ADO.NET-Spaltentyp; der so ermittelte Typname wird zusammen mit dem formatierten Wert an den Zielkonnektor weitergereicht und dort für die Auswahl der Umwandlung verwendet.
| ADO.NET-Spaltentyp | Weitergegebener Typ | Formatierung des Wertes |
|---|---|---|
Int32 | int32 | Wird als Ganzzahl gelesen und in der Kultur aus language ausgegeben |
Decimal | decimal | Wird als Dezimalzahl gelesen und in der Kultur aus language ausgegeben |
Double | double | Wie Decimal — Umwandlung über einen Dezimalwert |
DateTime | datetime | Format u, also yyyy-MM-dd HH:mm:ssZ |
| alle übrigen | Name des .NET-Typs (z. B. string, boolean, guid) | Unveränderte Textdarstellung |
Zahlen werden in der Kultur der Quellverbindung formatiert. Steht dort der Vorgabewert
de-DE, wird ein Komma als Dezimaltrennzeichen ausgegeben — für Zielumwandlungen, die
einen Textwert zwingend als en-US lesen, ist language entsprechend anzupassen.
Welche Quelltypen ein Zielsystem akzeptiert, steht auf der jeweiligen Zielkonnektor-Seite: D365BC, D365CE, D365NAV.