Migration von Microsoft SQL Server zu PostgreSQL

Dieses dreitägige Seminar zeigt dir Methodik, Werkzeuge und Praxis-Kniffe für die Datenbankmigration von Microsoft SQL Server zu PostgreSQL. Du lernst die Architekturunterschiede, das Datentyp-Mapping und die Portierung von T-SQL zu PL/pgSQL kennen, dazu den Weg zu einer sauberen Datenübernahme und einem performanten PostgreSQL-Betrieb. Am Ende hast du das Rüstzeug, eine SQL-Server-Migration strukturiert zu planen, und weißt, welche Schritte die Umsetzung erfordert.

Für wen ist dieses Seminar

Das Seminar wendet sich an Datenbankadministratorinnen und -administratoren, Datenbankentwickler, Systemarchitekten und Migrationsberater, die eine Microsoft-SQL-Server-Umgebung nach PostgreSQL überführen. Das Angebot richtet sich an Unternehmen, Behörden und Selbstständige.

Was du mitbringen solltest

Du bringst fundierte Erfahrung in Administration und Entwicklung mit Microsoft SQL Server (T-SQL) sowie grundlegende 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: SQL Server Instanz/Datenbanken vs. PostgreSQL Cluster/Datenbanken
  • Speichermodell: Filegroups und Transaktionsprotokolle vs. Tablespaces und WAL (Write-Ahead Logging)
  • Nebenläufigkeit: Locking/Blocking in SQL Server vs. Multi-Version Concurrency Control (MVCC) in PostgreSQL
  • Temporäre Objekte: tempdb und #temp-Tabellen vs. lokale temporäre Tabellen in PostgreSQL
  • Systemkataloge: System Views (sys.*) 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 automatisierten Migration: AWS Schema Conversion Tool (SCT), pgloader
  • Übersicht alternativer Ansätze (z. B. Babelfish for PostgreSQL)
  • Kompatibilitätsbewertung und Aufwandsschätzung

Schema- und Strukturmigration

  • Mapping der Datentypen (z. B. DATETIME zu TIMESTAMP, BIT zu BOOLEAN, VARCHAR(MAX) zu TEXT, UNIQUEIDENTIFIER zu UUID)
  • Konvertierung von IDENTITY-Spalten zu SERIAL oder GENERATED ALWAYS AS IDENTITY
  • Übertragung von Constraints (Primary Key, Foreign Key, Check, Unique)
  • Index-Architektur: Clustered Indexes (SQL Server) vs. Heap Tables mit B-Tree Indexes (PostgreSQL)
  • Implementierung von Partitionierung und berechneten Spalten (Computed Columns)
  • Benutzer, Rollen und Rechte: SQL-Server-Logins, Datenbank-User und Rollenmitgliedschaften auf PostgreSQL-Rollen und das GRANT-Konzept übertragen
  • Case-Sensitivity und Collation: SQL Server vergleicht Zeichenketten standardmäßig ohne Beachtung von Groß-/Kleinschreibung, PostgreSQL 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: 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 T-SQL und PL/pgSQL
  • Migration von Stored Procedures, UDFs und Triggern
  • Transaktionssteuerung: Implizite/Explizite Transaktionen und Fehlerbehandlung (TRY...CATCH zu EXCEPTION-Blöcken)
  • Ersetzen von T-SQL-Spezifika: ISNULL/COALESCE, GETDATE() zu CURRENT_TIMESTAMP, TOP zu LIMIT/OFFSET
  • Konvertierung von temporären Tabellenvariablen (@table) und Cursorn
  • Lösungsansätze für fehlende globale Variablen (z. B. @@ROWCOUNT, @@ERROR)
  • Anpassung von dynamischem SQL (sp_executesql zu EXECUTE)

Datenübernahme und Synchronisation

  • Initiale Datenmigration: Massendatenexport/-import (von BCP zu COPY)
  • Direkte Datenbankverbindungen: Einsatz des TDS Foreign Data Wrappers (tds_fdw) als Ersatz für Linked Servers
  • Change Data Capture (CDC) und logische Replikation für ausfallarme Migrationen (Near-Zero Downtime)
  • Behandlung von Zeichensatz- und Encoding-Problemen während des Transfers

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
  • Anwendungsseitige Anpassungen vor dem Cutover: ODBC-/JDBC-/.NET-Treiber, Verbindungszeichenfolgen und ORM-Konfiguration (z. B. Entity Framework, Hibernate) auf PostgreSQL umstellen
  • Cutover-Planung und Rollback-Szenarien

Performance-Optimierung und PostgreSQL-Betrieb

  • Wichtige Tuning-Parameter in der postgresql.conf im Vergleich zu sp_configure
  • Das Autovacuum-Konzept als Ersatz für SQL Server Index-Rebuild- und Statistik-Wartungspläne
  • Performance-Analyse: SQL Server Profiler / Extended Events vs. pg_stat_statements und EXPLAIN ANALYZE
  • Anpassung von Backup- und Recovery-Strategien (Ablösung von SQL Server Backups durch pg_dump und kontinuierliche Archivierung/pgBackRest); für Multi-Cluster-Szenarien lohnt zusätzlich ein Blick auf das quelloffene Werkzeug pg-clusterbackup
  • Zeitgesteuerte Jobs: Ablösung des SQL Server Agent durch pg_cron oder einen externen Scheduler
  • Hochverfügbarkeit: Ablösung von Always On Availability Groups durch PostgreSQL Streaming Replication und Patroni

Dauer: 3 Tage

Was du danach kannst

  • Architektur- und Sperrverhalten von SQL Server und PostgreSQL gegenüberstellen und eine Migration methodisch planen
  • Schema, Datentypen, Constraints und Indizes von SQL Server nach PostgreSQL übertragen
  • T-SQL-Code inklusive Stored Procedures, Triggern und Cursorn zu PL/pgSQL portieren
  • Benutzer, Rollen und Rechte sowie zeitgesteuerte Jobs in der neuen Umgebung nachbilden
  • Collation- und Case-Sensitivity-Fallstricke erkennen und sauber auflösen
  • Anwendungen, Treiber und ORM-Konfiguration auf PostgreSQL umstellen

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. Dutzende Migrationen von SQL Server nach PostgreSQL hat er seit 1999 begleitet, gecoacht oder selbst durchgeführt — bei Banken, Versicherungen, in der Automobilindustrie und bei Behörden; im Seminar zeigt er, an welchen Stellen solche Umstellungen in der Praxis haken.

Häufige Fragen (FAQ)

Was sind die größten Fallstricke bei der Migration von SQL Server zu PostgreSQL?

Die wichtigsten Unterschiede liegen im Transaktions- und Sperrverhalten (SQL Server sperrt per Default lesend via Shared Locks, PostgreSQL nutzt MVCC ohne Leseblockaden), in der Syntax von T-SQL vs. PL/pgSQL sowie in temporären Tabellen und Tabellenvariablen. Im Seminar analysieren wir diese Unterschiede praxisnah und zeigen dir performante Äquivalente in PostgreSQL.

Welche Tools eignen sich am besten für den Datentransfer von SQL Server?

Für automatisierte Schema- und Datenübernahmen setzen wir vor allem pgloader und AWS SCT ein. pgloader glänzt durch hohe Geschwindigkeit beim Bulk-Loading und automatisches Type-Casting, während für kontinuierliche Replikation oder minimale Ausfallzeiten Foreign Data Wrapper (tds_fdw) und CDC-Werkzeuge (z. B. Debezium) geschult werden.

Können wir das Seminar mit unseren eigenen SQL-Server-Datenbanken durchführen?

Ja. Bei Inhouse-Schulungen arbeiten wir auf Wunsch direkt an deinen realen Schemata, Stored Procedures und T-SQL-Skripten. Wir klären vorab den Migrationsgrad und prüfen typische Problemstellen vertraulich unter NDA.

Findet das Seminar inhouse oder remote statt?

Wir bieten das 3-Tage-Seminar flexibel als Inhouse-Training bei euch vor Ort (in Köln, NRW und bundesweit) sowie als interaktive Remote-Schulung für verteilte Entwicklerteams an.


Individuell anfragen