Migration von Informix zu PostgreSQL

Dieses Seminar vermittelt die Methodik, Werkzeuge und Best Practices für eine erfolgreiche Datenbankmigration von IBM Informix zu PostgreSQL. Teilnehmer erlernen die fundamentalen Architekturunterschiede, das Mapping von spezifischen Datentypen, die Konvertierung von Informix SPL (Stored Procedure Language) zu PL/pgSQL sowie Strategien für die Datenübernahme, das Testing und die abschließende Performance-Optimierung im PostgreSQL-Betrieb.

Zielgruppe & Voraussetzungen

  • Zielgruppe: Datenbankadministratoren (DBAs), Datenbankentwickler, Systemarchitekten und Migrationsberater.
  • Voraussetzungen: Fundierte Erfahrungen in der Administration und Entwicklung mit IBM Informix (SQL, SPL) sowie grundlegende relationale Datenbankkenntnisse.

Detaillierte Inhalte

Architektur- und Konzeptvergleich

  • Systemarchitektur: Informix Instanz/Server vs. PostgreSQL Cluster
  • Speichermodell: Dbspaces und Chunks vs. Tablespaces und Data Files
  • Transaktionsprotokollierung: Logical Logs und Physical Logs vs. Write-Ahead Logging (WAL)
  • Parallelverarbeitung: Informix PDQ (Parallel Database Query) vs. PostgreSQL Parallel Queries
  • Systemkataloge: Informix sysmaster und Systemtabellen vs. Information Schema und pg_catalog

Migrationsstrategien und Werkzeuge

  • Phasen eines Migrationsprojekts (Assessment, Schema, Daten, Code, Testing, Cutover)
  • Migrationsansätze: Big Bang vs. Phasenweise Migration
  • Werkzeuge zur Migration: AWS Schema Conversion Tool (SCT), Ispirer, ESF Database Migration Toolkit
  • Informix-Bordmittel für den Datenexport (dbexport, UNLOAD)
  • Kompatibilitätsbewertung und Aufwandsschätzung

Schema- und Strukturmigration

  • Mapping der Datentypen (z. B. DATETIME YEAR TO FRACTION zu TIMESTAMP, LVARCHAR zu VARCHAR/TEXT, BYTE/TEXT zu BYTEA/TEXT)
  • Konvertierung von SERIAL, SERIAL8 und BIGSERIAL zu PostgreSQL SERIAL oder IDENTITY-Spalten
  • Übertragung von Constraints (Primary Key, Foreign Key, Check, Unique)
  • Index-Architektur: Informix B-Tree und Fragmentierung vs. PostgreSQL B-Tree und Partitionierung
  • Umsetzung von Informix Table Fragmentation in PostgreSQL Table Partitioning
  • Umgang mit Synonymen und temporären Tabellen

Code-Migration: Informix SPL zu PL/pgSQL

Wer PL/pgSQL nicht nur portieren, sondern von Grund auf lernen möchte, findet das im Seminar PL/pgSQL-Programmierung.

  • Syntaxunterschiede zwischen Informix SPL und PostgreSQL PL/pgSQL
  • Migration von Stored Procedures und Triggern
  • Konvertierung von Schleifen und Cursorn (FOREACH-Schleifen in SPL zu PL/pgSQL-Pendants)
  • Transaktionssteuerung und Exception Handling in Prozeduren
  • Ersetzen von Informix-spezifischen Funktionen (z. B. TODAY, CURRENT, NVL, bitweise Operationen)
  • Anpassung von dynamischem SQL und Rückgabewerten (RETURN WITH RESUME zu RETURN NEXT)

Datenübernahme und Synchronisation

  • Initiale Datenmigration: Export mit UNLOAD und Import via PostgreSQL COPY
  • Behandlung von Zeichensätzen und Lokalisierung: Informix GLS (Global Language Support) zu PostgreSQL Encoding (UTF-8) und Collations
  • Konvertierung und Transfer von Large Objects (Smart Large Objects, BLOBs, CLOBs)
  • Change Data Capture (CDC) für ausfallarme Migrationen (Zero Downtime)

Testing, Validierung und Go-Live

  • Strategien zur Verifizierung der Datenkonsistenz (Row Counts, Hash-Summen)
  • Funktionstests für migrierte Geschäftslogik und Schnittstellen
  • Last- und Performancetests auf dem neuen System
  • Cutover-Planung und Rollback-Szenarien

Performance-Optimierung und PostgreSQL-Betrieb

  • Wichtige Tuning-Parameter in der postgresql.conf im Vergleich zur Informix onconfig
  • Das Autovacuum-Konzept als Ersatz für Informix Update Statistics und manuelle Wartungsläufe
  • Performance-Analyse: Informix onstat-Utilities vs. PostgreSQL Views (pg_stat_activity, pg_stat_statements)
  • Anpassung von Backup- und Recovery-Strategien (Ablösung von ontape/onbar durch pg_dump und kontinuierliche Archivierung via pgBackRest)

Dauer 3 Tage


Häufige Fragen (FAQ)

Wie aufwendig ist die Migration von Informix SPL zu PostgreSQL PL/pgSQL?

Der Aufwand hängt von der Zahl gespeicherter Prozeduren und proprietärer Konstrukte ab. Während grundlegende Kontrollstrukturen ähnlich sind, erfordern Informix-Besonderheiten wie FOREACH-Schleifen, RETURN WITH RESUME (für Ergebnislisten) und Informix-spezifische Datums-/Zeichenkettenfunktionen eine manuelle oder skriptgestützte Übertragung in RETURN NEXT und PL/pgSQL-Syntax.

Wie wird Informix Table Fragmentation in PostgreSQL abgebildet?

Informix Fragmentation (nach Expression oder Round-Robin) wird in PostgreSQL über natives Declarative Table Partitioning (Range, List oder Hash) realisiert. Dies sorgt für identische Performancevorteile beim Partition Pruning und vereinfacht die administrative Wartung großer Tabellenbestände.

Kann die Migration von Informix auf PostgreSQL mit minimaler Downtime erfolgen?

Ja, für zeitkritische Systeme kombiniert man einen initialen Massenexport (UNLOAD und PostgreSQL COPY) mit Change Data Capture (CDC) oder Replikationswerkzeugen. Dadurch werden laufende Änderungen bis zum finalen Cutover kontinuierlich nachrepliziert, sodass das Wartungsfenster auf wenige Minuten schrumpft.

Wer leitet das Migrationsseminar?

Das Seminar wird von Frank Glück persönlich geleitet. Er verfügt über mehr als 30 Jahre Erfahrung als IT-Dozent und fast 40 Jahre Programmierpraxis und hat zahlreiche heterogene Datenbanksysteme erfolgreich auf moderne Open-Source-Plattformen migriert.


Individuell anfragen