Migration von Sybase zu PostgreSQL
Dieses dreitägige Seminar vermittelt fundierte Kenntnisse und erprobte Best Practices für die Migration von Sybase (ASE oder SQL Anywhere) zu PostgreSQL. Weil Sybase und Microsoft SQL Server eine gemeinsame T-SQL-Historie teilen, liegt ein besonderer Fokus auf den architektonischen Unterschieden und der Konvertierung von Sybase-T-SQL zu PL/pgSQL. Am Ende kennst du die Schritte für einen sicheren, performanten Weg in die PostgreSQL-Umgebung.
Für wen ist dieses Seminar
Das Seminar richtet sich an Datenbankadministratoren (DBAs), Datenbankentwickler, Systemarchitekten und Migrationsberater, die eine Sybase-Umgebung nach PostgreSQL überführen wollen. Das Angebot richtet sich an Unternehmen, Behörden und Selbstständige.
Was du mitbringen solltest
Du bringst fundierte Administrations- und Entwicklungserfahrung mit Sybase ASE oder SQL Anywhere (T-SQL) sowie relationale Datenbankkenntnisse mit. Geschult wird auf der jeweils aktuellen Version; bei Inhouse-Seminaren gern auch auf der Version, die ihr im Einsatz habt.
Detaillierte Inhalte
Architektur- und Konzeptvergleich
- Systemarchitektur: Sybase Instanzen und Datenbanken vs. PostgreSQL Cluster
- Speichermodell: Sybase Devices und Segments vs. PostgreSQL Tablespaces und Data Files
- Transaktionsmanagement: Sybase Locking-Mechanismen (Allpages, Datarows) vs. PostgreSQL MVCC
- Systemkataloge: Sybase Systemtabellen (
sysobjects,syscolumns) vs. PostgreSQLpg_catalogund Information Schema
Migrationsstrategien und Werkzeuge
- Phasen der Migration (Assessment, Schema, Daten, Code, Testing, Go-Live)
- Evaluierung von Migrationswerkzeugen: AWS Schema Conversion Tool (SCT), Ispirer, ESF Database Migration Toolkit
- Sybase-native Werkzeuge: Nutzung von
bcp(Bulk Copy Program) unddefncopy(bzw.ddlgenfür die DDL-Extraktion ganzer Datenbanken) - Aufwandsschätzung, Kompatibilitätsbewertung und Risikomanagement
Schema- und Strukturmigration
- Datentyp-Mapping (z. B.
DATETIMEzuTIMESTAMP,TINYINTzuSMALLINT,TEXT/IMAGEzuTEXT/BYTEA) - Übertragung von Constraints (Primary Key, Foreign Key, Check, Unique)
- Konvertierung von Identity-Spalten zu PostgreSQL
SERIALoderGENERATED ALWAYS AS IDENTITY - Index-Architektur: Clustered vs. Non-Clustered Indexes in Sybase und die Umsetzung als PostgreSQL B-Tree Indexes
- Benutzer, Rollen und Rechte: Sybase-Logins, Benutzer und Rollen auf PostgreSQL-Rollen und das
GRANT-Konzept übertragen - Case-Sensitivity und Collation: SQL Anywhere vergleicht Zeichenketten standardmäßig ohne Beachtung von Groß-/Kleinschreibung, ASE je nach eingestellter Sortierfolge; PostgreSQL vergleicht standardmäßig mit — Lösungswege sind ICU-Collations mit passender Sortierfolge, nichtdeterministische Collations für case-insensitive Vergleiche und die Erweiterung
citextfür einzelne Spalten; nach einem Collation-Wechsel müssen betroffene Indexe neu aufgebaut werden
Code-Migration: Sybase T-SQL 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 Sybase T-SQL und PostgreSQL PL/pgSQL
- Migration von Stored Procedures, Triggern und benutzerdefinierten Funktionen (UDFs)
- Behandlung von Cursorn, temporären Tabellen (
#temp) und Exception Handling - Sybase-spezifische globale Variablen ersetzen (z. B.
@@rowcount,@@error,@@identity) - Transaktionssteuerung: Implizite und explizite Transaktionen (Chained/Unchained Mode) anpassen
- Sybase-Spezifika ersetzen (z. B.
ISNULL,STR_REPLACE, Outer-Join Syntax*=zu ANSI SQL)
Datenübernahme und Synchronisation
- Initiale Datenmigration: Massendatenexport via
bcp(Character/Native Format) und Import via PostgreSQLCOPY - Change Data Capture (CDC) für ausfallarme Migrationen (Near-Zero Downtime) z. B. durch Debezium oder Sybase Replication Server Alternativen
- Behandlung von großen Datenmengen (LOBs) und Zeichensatzkonvertierungen (z. B. von Roman8/CP850 nach UTF-8)
Testing, Validierung und Go-Live
- Validierung der Datenkonsistenz (Row Counts, Hash-Summen, Stichproben)
- Funktionstests für migrierte Geschäftslogik, Prozeduren und Applikations-Schnittstellen
- Performancetests und Lastensimulation auf dem neuen System
- Anwendungsseitige Anpassungen vor dem Cutover: ODBC-/JDBC-Treiber, Verbindungszeichenfolgen und ORM-Konfiguration auf PostgreSQL umstellen und testen
- Cutover-Strategien, Parallelbetrieb und Fallback-Szenarien
Performance-Optimierung und PostgreSQL-Betrieb
- PostgreSQL Autovacuum als Ersatz für Sybase
update statisticsundreorg - Konfiguration der
postgresql.confim Vergleich zu Sybasesp_configure-Parametern - Ausführungspläne analysieren: Sybase
showplanvs. PostgreSQLEXPLAIN ANALYZE - Backup- und Recovery-Konzepte anpassen (Ablösung von Sybase
dump database/dump transactiondurchpg_dumpund kontinuierliche Archivierung via pgBackRest); für Multi-Cluster-Szenarien lohnt zusätzlich ein Blick auf das quelloffene Werkzeug pg-clusterbackup - Zeitgesteuerte Jobs: Ablösung von Sybase-Jobs durch
pg_cronoder einen externen Scheduler - Hochverfügbarkeit: Ablösung des Sybase Replication Server durch PostgreSQL Streaming Replication und Patroni
Dauer: 3 Tage
Was du danach kannst
- Architektur- und Locking-Unterschiede zwischen Sybase und PostgreSQL gegenüberstellen und eine Migration methodisch planen
- Schema, Datentypen, Constraints und Indizes von Sybase nach PostgreSQL übertragen
- Sybase-T-SQL-Code inklusive Prozeduren, Triggern und UDFs zu PL/pgSQL portieren
- Benutzer, Rollen, Rechte und zeitgesteuerte Jobs in der neuen Umgebung nachbilden
- Collation- und Case-Sensitivity-Fallstricke erkennen und sauber auflösen
Verwandte Seminare
- PL/pgSQL-Programmierung — Sybase-T-SQL-Wissen gezielt in PL/pgSQL-Kenntnisse überführen
- SQL Server T-SQL Programmierung — für alle, die die verwandte T-SQL-Basis vertiefen wollen
- PostgreSQL Administration — Betrieb, Backup und Wartung der Zielumgebung
- PostgreSQL Performance-Tuning — Feintuning nach dem Go-Live
Dein Dozent
Frank Glück schult seit mehr als 30 Jahren und programmiert seit fast 40 Jahren. Seit 1999 ist er auch als Dozent für die GFU tätig. Seit 1999 begleitet, coacht oder führt er Migrationen nach PostgreSQL durch, darunter Dutzende aus SQL Server, dem engsten Verwandten von Sybase, und aus Oracle, bei Konzernen aus Finanz- und Automobilbranche ebenso wie bei Behörden. Im Seminar überträgt er diese Erfahrung gezielt auf Sybase ASE und SQL Anywhere und zeigt, wo sich die Systeme trotz gemeinsamer Herkunft unterscheiden.
Häufige Fragen (FAQ)
Wie unterscheidet sich Sybase T-SQL von PostgreSQL PL/pgSQL?
Sybase T-SQL arbeitet prozedural mit direkten SQL-Anweisungen ohne formale Blockstruktur (BEGIN ... END), nutzt globale Statusvariablen wie @@error und temporäre Tabellen (#temp). In PostgreSQL wird Logik in strukturierte PL/pgSQL-Funktionen mit Blockscope, Ausnahmebehandlung (EXCEPTION) und ANSI-kompatible Transaktionskontrolle überführt.
Was passiert mit Sybase Outer-Joins im alten Format (= und =)?
Die proprietäre Sybase Outer-Join-Syntax (= und =) wird in PostgreSQL nicht unterstützt. Sie muss konsequent in standardkonforme ANSI-SQL LEFT OUTER JOIN bzw. RIGHT OUTER JOIN Konstrukte refaktoriert werden, um korrekte Ausführungspläne und semantische Eindeutigkeit sicherzustellen.
Wie wird der Massenexport aus Sybase organisiert?
Die Datenextraktion erfolgt in der Regel über das bewährte Sybase-Utility bcp im Character-Format. Die Zieldaten werden anschließend über den schnellen PostgreSQL-COPY-Befehl eingelesen. Bei großen Tabellenbeständen sorgen parallele Ladejobs und temporär deaktivierte Fremdschlüssel für maximale Importgeschwindigkeit.