Fachartikel

Oracle PL/SQL nach PostgreSQL migrieren

PL/SQL kann nicht seriös als reiner Syntaxwechsel behandelt werden. Entscheidend ist, welche Logik in der Datenbank bleibt und welche entkoppelt werden muss.

PL/pgSQL ist kein PL/SQL-Klon

PostgreSQL bietet mit PL/pgSQL eine leistungsfähige prozedurale Sprache. Trotzdem ist sie kein vollständiger Ersatz für Oracle PL/SQL. Besonders Oracle Packages, Package State, Autonomous Transactions und viele DBMS_-Pakete benötigen eine Architekturentscheidung.

Typische Risikobereiche

PackagesStruktur, globale Variablen und Package State müssen analysiert werden.
TriggerOft steckt fachliche Logik in scheinbar technischen Triggern.
Dynamic SQLEXECUTE IMMEDIATE erschwert statische Analyse und automatische Konvertierung.
Autonomous TransactionsBenötigen meist Redesign, separate Transaktionslogik oder externe Services.
DBMS_ / UTL_Viele Oracle-Pakete haben keinen direkten PostgreSQL-Ersatz.

Vier Zielstrategien

  • Nach PL/pgSQL migrieren: sinnvoll bei klarer, datenbanknaher Logik.
  • In die Anwendung verschieben: sinnvoll bei fachlicher Prozesslogik.
  • Als Service neu bauen: sinnvoll bei Dateien, HTTP, Messaging oder Scheduling.
  • In Oracle belassen: temporär sinnvoll im Hybrid- oder Wellenmodell.

Bewertung statt Scheinkonvertierung

Ein seriöses Assessment bewertet nicht nur, ob Code syntaktisch übersetzbar ist. Es bewertet, ob die Zielarchitektur nach der Migration wartbar, testbar und betrieblich beherrschbar ist.

Praxisregel

Je mehr fachliche Logik in Packages und Triggern steckt, desto weniger ist eine direkte PostgreSQL-Migration ein technisches Mapping.

Empfohlene Analyse

GCON-DB bewertet PL/SQL nach Lines of Code, Abhängigkeiten, Oracle-spezifischen Features, Dynamic SQL, Triggern und Zielstrategie. Das Ergebnis ist eine Risikomatrix statt einer unrealistischen 1:1-Konvertierungsbehauptung.

FAQ

Kann PL/SQL automatisch nach PL/pgSQL konvertiert werden?

Teilweise, aber nicht zuverlässig für komplexe Enterprise-Systeme. Packages, State, Oracle APIs und Transaktionsverhalten benötigen manuelle Bewertung.

Sollte Logik in der Datenbank bleiben?

Nur wenn sie datenbanknah, klar begrenzt und gut testbar ist. Fachliche Prozesslogik gehört oft besser in Anwendung oder Services.

Was ist mit Triggern?

Trigger müssen einzeln klassifiziert werden. ID-Trigger sind meist einfach, fachliche Triggerlogik ist häufig ein hohes Migrationsrisiko.