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. PostgreSQL pg_catalog und 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) und defncopy (bzw. ddlgen für die DDL-Extraktion ganzer Datenbanken)
  • Aufwandsschätzung, Kompatibilitätsbewertung und Risikomanagement

Schema- und Strukturmigration

  • Datentyp-Mapping (z. B. DATETIME zu TIMESTAMP, TINYINT zu SMALLINT, TEXT/IMAGE zu TEXT/BYTEA)
  • Übertragung von Constraints (Primary Key, Foreign Key, Check, Unique)
  • Konvertierung von Identity-Spalten zu PostgreSQL SERIAL oder GENERATED 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 citext fü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 PostgreSQL COPY
  • 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 statistics und reorg
  • Konfiguration der postgresql.conf im Vergleich zu Sybase sp_configure-Parametern
  • Ausführungspläne analysieren: Sybase showplan vs. PostgreSQL EXPLAIN ANALYZE
  • Backup- und Recovery-Konzepte anpassen (Ablösung von Sybase dump database/dump transaction durch pg_dump und 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_cron oder 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

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.


Individuell anfragen