SQL Server vs. PostgreSQL — Vor- und Nachteile für den Umstieg

SQL Server oder PostgreSQL — die Frage ist selten „Welche Datenbank ist besser?“, sondern „Welche passt zu Budget, Team und Plattform?“. Wer die beiden Fragen verwechselt, migriert aus den falschen Gründen und merkt es erst, wenn die Lizenzrechnung zwar schrumpft, die Betriebskosten aber wachsen. Kurzüberblick: Voraussetzung: SQL-Server-Praxiserfahrung genügt. PostgreSQL-Begriffe wie MVCC oder Extensions werden beim ersten … Weiterlesen

Ein Claude-Code-Projekt mit Entwicklungsworkflow und Datenbank aufsetzen — das offene Starter-Kit im Überblick

Ein leeres Repo und Claude Code, Anthropics Coding-Agent im Terminal — mehr braucht es nicht, um loszulegen. Und genau das ist das Problem: Das Modell schreibt sofort Code, aber von Haus aus sorgt nichts dafür, dass vorher eine Spezifikation entsteht, hinterher ein Review stattfindet oder das Datenbank-Schema reproduzierbar deployt wird. Wer ein Claude-Code-Projekt aufsetzt, entscheidet … Weiterlesen

Datenbank-CI/CD mit PostgreSQL — der komplette Lebenszyklus vom Objekt-File bis zum automatischen Deploy

In vielen Projekten lebt das Datenbank-Schema in der Datenbank statt im Repository — gewachsen aus Jahren von Hand-ALTERs, vollständig dokumentiert nirgends. Auffallen tut das erst, wenn eine zweite Umgebung entstehen soll oder ein Deploy zerbricht. Datenbank-CI/CD dreht das Verhältnis um: Das Repository beschreibt den Soll-Zustand, und jede Umgebung — von der Wegwerf-Datenbank im CI bis zur Produktion … Weiterlesen

GitHub Actions für Postgres-Deploys — mit Wegwerf-Datenbank als Qualitäts-Gate

Der Fehler war ein Tippfehler in einem ALTER TABLE — gefunden hat ihn der Staging-Deploy am Freitagnachmittag. Dabei ist genau dieser Fund automatisierbar: Wer den Postgres-Deploy über GitHub Actions gegen eine Wegwerf-Datenbank fährt, macht aus jedem Pull Request einen vollständigen Probelauf. Syntax- und Semantik-Fehler, Reihenfolge-Probleme und kaputte Idempotenz fallen dann vor dem Merge auf — nicht auf Staging. Das … Weiterlesen

Schema-Änderungen tracken ohne Framework — Run-once-Skripte, Checksummen und Immutabilität

Der Backfill lief beim zweiten Deploy noch einmal — und hat Werte überschrieben, die in der Zwischenzeit fachlich korrigiert worden waren. Solche Unfälle verhindert keine Disziplin, sondern nur ein Gedächtnis: Wer Schema-Änderungen tracken will, ohne gleich Flyway oder Liquibase einzuführen, braucht dafür genau eine Tabelle und rund 40 Zeilen Shell — und trifft dabei dieselben vier Design-Entscheidungen, … Weiterlesen

NOT-NULL-Spalte nachträglich hinzufügen — das Expand/Contract-Muster für befüllte Tabellen

Lokal lief der ALTER TABLE sauber durch — auf Staging bricht derselbe Deploy mit column „country_code“ of relation „customer“ contains null values. Der Unterschied ist nicht das SQL, sondern die Daten: Die lokale Tabelle war leer, die auf Staging nicht. Wer eine NOT-NULL-Spalte nachträglich zu einer befüllten Tabelle hinzufügen will, braucht mehr als ein Statement — er braucht die richtige … Weiterlesen

SQL-Schema deployen ohne Migrations-Tool — Verzeichnis-Konvention statt Flyway oder Liquibase

Das Schema steht — und jetzt? Der Reflex heißt Flyway oder Liquibase. Aber ein Migrations-Tool ist für ein kleines, datenbank-zentriertes Projekt oft mehr Apparat, als die Aufgabe verlangt: eine eigene Versions-Tabelle, eine Runtime-Abhängigkeit, ein Format, an das man sich bindet. Es geht auch anders. Ein SQL-Schema deployen ohne Migrations-Tool heißt: ein paar Konventionen, idempotente Skripte und ein … Weiterlesen

Datenmigration: SQL Server nach PostgreSQL — der vollständige Leitfaden

Eine Datenmigration von SQL Server nach PostgreSQL scheitert selten am eigentlichen Kopieren der Daten. Sie scheitert an den stillen Unterschieden, die erst im Ziel auffallen: datetime, das keine Zeitzone kennt, bit, das kein boolean ist, ein IDENTITY, das zur Sequenz wird, und eine Collation, die plötzlich case-sensitiv vergleicht. Wer SQL Server nach PostgreSQL migrieren will, kopiert nicht einfach Tabellen — er übersetzt Typen, Schema, … Weiterlesen

Migration verifizieren — Datenqualität und Zeilen-Abgleich nach dem Umzug

Die Zeilenzahlen stimmen — Tabelle für Tabelle, Quelle gegen Ziel, alles grün. Und trotzdem ist die Migration nicht fertig. In einer Spalte sind aus NULL-Werten leere Strings geworden, in einer anderen hat der Umweg über eine CSV-Datei die letzte Nachkommastelle eines Betrags gerundet, und ein paar Umlaute sind zu Fragezeichen zerfallen. Gleiche Anzahl ist nicht gleiche Daten — … Weiterlesen

T-SQL nach PL/pgSQL portieren — Prozeduren und Funktionen migrieren

Die Daten sind drüben, das Schema steht — und dann liegen da 200 Stored Procedures, die kein Werkzeug für dich übersetzt. pgloader migriert Tabellen und Daten, aber die Logik in Prozeduren, Funktionen und Triggern bleibt liegen. Das ist die Phase, die wirklich Arbeit macht: T-SQL nach PL/pgSQL portieren, Zeile für Zeile, mit Verständnis statt Suchen-und-Ersetzen. Die gute Nachricht: Der … Weiterlesen