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
sysmasterund Systemtabellen vs. Information Schema undpg_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 FRACTIONzuTIMESTAMP,LVARCHARzuVARCHAR/TEXT,BYTE/TEXTzuBYTEA/TEXT) - Konvertierung von
SERIAL,SERIAL8undBIGSERIALzu PostgreSQLSERIALoderIDENTITY-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 RESUMEzuRETURN NEXT)
Datenübernahme und Synchronisation
- Initiale Datenmigration: Export mit
UNLOADund Import via PostgreSQLCOPY - 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.confim Vergleich zur Informixonconfig - 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/onbardurchpg_dumpund 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.