PostgreSQL zu Supabase migrieren: Datenbank und Anwendung umstellen
Timo Wevelsiep•Aktualisiert: 25.08.2026Hinweis zum Inhalt: Versionen, Befehle und Preise können sich ändern. Bitte prüfen Sie kritische Schritte vor dem produktiven Einsatz eigenständig. Dieser Leitfaden ersetzt keine individuelle Beratung.
Sie möchten eine produktive PostgreSQL-Datenbank nicht per Versuch und Irrtum umziehen? WZ-IT übernimmt die Supabase-Migration ab 3.490 € mit technischer Prüfung, Testlauf und geplantem Cutover.
Eine bestehende PostgreSQL-Datenbank zu Supabase zu migrieren ist grundsätzlich ein homogener Datenbankumzug. Beide Seiten verwenden PostgreSQL. Trotzdem ist die Migration mehr als das Austauschen einer DATABASE_URL: Rollen, Extensions, Eigentümer, Pooling, RLS und die Betriebsgrenzen der Zielplattform können das Verhalten der Anwendung verändern.
Die zentrale Entscheidung lautet außerdem: Soll nur die Datenbank umziehen oder soll die Anwendung anschließend Supabase Auth, Storage, Realtime, Edge Functions und die automatisch erzeugten APIs nutzen?
Was bei einer PostgreSQL-Migration übertragen wird
Mit pg_dump und pg_restore lassen sich typischerweise übertragen:
- Schemas, Tabellen und Daten
- Indizes, Constraints und Sequenzen
- Views und materialisierte Views
- Datenbankfunktionen und Trigger
- unterstützte Extensions
- RLS-Policies als Datenbankobjekte
Nicht blind übernommen werden sollten Eigentümer, Superuser-Rechte, providerinterne Rollen, Replikationsobjekte und plattformspezifische Extensions. Die offizielle PostgreSQL-Migrationsanleitung von Supabase empfiehlt deshalb Exporte ohne Ownership und Privilegien und verlangt eine anschließende Neuordnung der Rollen.
Quelle vorab prüfen
Vor der Migration erfassen wir mindestens:
| Bereich | Relevante Prüfung |
|---|---|
| Version | Quell- und Zielversion, Upgrade- oder Downgrade-Risiken |
| Extensions | Verfügbarkeit und Version auf Supabase |
| Rollen | Login-Rollen, Eigentümer, Grants und Superuser-Abhängigkeiten |
| Daten | Größe, große Tabellen, Large Objects und Änderungsrate |
| Schema | Funktionen, Trigger, Partitionierung, Views und Sequenzen |
| Anwendung | Treiber, Connection Pool, Transaktionen und SQL-Annahmen |
| Betrieb | Wartungsfenster, RPO, RTO, Testlauf und Rückfallweg |
Besonders wichtig sind Funktionen, die Dateisystemzugriff, eigene Background Worker oder Superuser-Rechte voraussetzen. Sie müssen vor dem Umzug ersetzt oder aus der Datenbank herausgelöst werden.
Welche PostgreSQL-Quellen dieser Pfad abdeckt
Der technische Grundweg gilt auch für verwaltete PostgreSQL-Angebote. Providerdetails werden entweder im Assessment oder in einem eigenen Leitfaden behandelt:
- selbst betriebene PostgreSQL-Datenbanken und On-Premise-Systeme
- Render Postgres, Railway Postgres und Fly Postgres
- Google Cloud SQL und Azure Database for PostgreSQL
- DigitalOcean Managed PostgreSQL, Aiven und vergleichbare Dienste
- AWS RDS und Aurora PostgreSQL
- Heroku Postgres
- Neon und früheres Vercel Postgres
Eine eigene Providerseite ist nur sinnvoll, wenn Netzwerk, Rollen, Branching, Add-ons oder Cutover tatsächlich eigenen Inhalt erzeugen. Ein bloßer Austausch des Markennamens wäre weder für Nutzer noch für Suchmaschinen hilfreich.
Dump und Restore oder logische Replikation?
Wartungsfenster mit Dump und Restore
Für überschaubare Datenbanken ist ein kontrollierter Export und Import meist der klarste Weg:
- Zielprojekt und Extensions vorbereiten.
- Testdump erstellen und in Supabase wiederherstellen.
- Fehler, Rollen und inkompatible Objekte bereinigen.
- Transferdauer und Validierungsabfragen dokumentieren.
- Im Cutover Schreibzugriffe stoppen, final exportieren und umstellen.
Der Weg ist gut überprüfbar, benötigt aber eine zur Datenmenge passende Schreibpause.
Logische Replikation für einen kurzen Cutover
Supabase dokumentiert für PostgreSQL ab Version 10 auch logische Replikation. Sie eignet sich, wenn die Quelle weiter beschrieben werden muss, während die Grunddaten bereits übertragen werden. Voraussetzungen sind unter anderem geeignete Replikationsrechte, wal_level=logical, Replikationsslots und ein Replica Identity für veränderte Tabellen.
Nicht automatisch repliziert werden DDL-Änderungen, Sequenzen und Large Objects. Deshalb gehören Schema-Freeze, Sequenzabgleich und finaler Schreibstopp weiterhin in den Ablauf.
Rollen, RLS und APIs nach dem Import
Eine vorhandene PostgreSQL-Anwendung arbeitet häufig mit eigenen Login-Rollen oder einem zentralen Datenbanknutzer. Supabase ergänzt die Rollen anon, authenticated und service_role sowie PostgREST und Auth.
Nach dem Import ist deshalb zu entscheiden:
- Bleibt die Anwendung bei einer direkten PostgreSQL-Verbindung?
- Werden Tabellen über die Supabase Data API bereitgestellt?
- Welche Tabellen benötigen RLS?
- Welche Zugriffe laufen künftig mit Nutzer-JWTs?
- Welche Serverprozesse dürfen
service_roleverwenden?
RLS darf nicht nur formal vorhanden sein. Die tatsächlichen Nutzerwege müssen mit positiven und negativen Tests geprüft werden. Dafür steht eine eigene Anleitung zum Prüfen von Supabase RLS bereit.
Verbindung und Pooling umstellen
Supabase bietet direkte Verbindungen sowie Session- und Transaction-Pooling über Supavisor. Nicht jeder Modus passt zu jedem Framework:
- Migrationstools und langlebige Sessions benötigen den passenden Session-Modus oder eine Direktverbindung.
- Serverless-Anwendungen profitieren häufig von Transaction-Pooling.
- Prepared Statements und sessiongebundene Funktionen müssen gegen den gewählten Modus getestet werden.
- Firewall, IPv4-/IPv6-Erreichbarkeit und TLS gehören in die Abnahme.
Die Anwendung wird zuerst in einer Staging-Umgebung gegen Supabase getestet. Erst danach werden Produktions-Secrets und DATABASE_URL umgestellt.
Nur Datenbank oder vollständiges Supabase-Backend?
Ein PostgreSQL-Umzug kann bewusst auf die Datenbank begrenzt bleiben. Wenn zusätzlich Supabase-Funktionen eingeführt werden, entstehen weitere Arbeitspakete:
- bestehende Nutzerverwaltung zu Supabase Auth überführen
- Dateien in Supabase Storage migrieren
- Zugriffslogik als RLS modellieren
- REST-, GraphQL- oder Realtime-Zugriffe anbinden
- Jobs oder Backend-Code als Edge Functions oder externe Worker betreiben
Diese Erweiterungen sollten nicht stillschweigend als Teil eines Datenbankimports behandelt werden. Sie verändern die Anwendung und brauchen eigene Abnahmekriterien.
Abnahme und Rückfall
Eine belastbare Abnahme vergleicht nicht nur die Gesamtzahl der Datensätze. Geprüft werden:
- Zeilenzahlen und Stichproben kritischer Datensätze
- Constraints, Indizes, Sequenzen und Defaults
- Funktionen, Trigger und geplante Jobs
- Performance zentraler Queries
- Schreib- und Transaktionsverhalten
- Rollen, Grants und RLS-Negativtests
- Anwendung, APIs und Hintergrundprozesse
Der finale Ablauf orientiert sich an der Supabase-Migrationscheckliste. Nach erfolgreichem Cutover kann WZ-IT die Zielumgebung als Managed Supabase weiterbetreiben.
Quellen
Lieber betreiben lassen?
Sie möchten Supabase nicht selbst betreiben? WZ-IT übernimmt Einrichtung, Betrieb und Wartung - datenschutzorientiert aus Deutschland.
Anfrage
Supabase migrieren, absichern oder betreiben
Wir migrieren Supabase-Projekte und bestehende Backends wie Firebase, Lovable, PostgreSQL, MySQL oder Auth0, bauen die Zielumgebung auf und übernehmen auf Wunsch den laufenden Betrieb.
Häufig gestellte Fragen
Antworten auf die wichtigsten Fragen
Viele PostgreSQL-Workloads lassen sich übertragen. Vorher müssen jedoch Version, Extensions, Rollen, Superuser-Abhängigkeiten und Funktionen geprüft werden, die in einer verwalteten Zielumgebung eingeschränkt sein können.
Nicht vollständig. Die offizielle Supabase-Dokumentation weist darauf hin, dass Rollen und Privilegien für die Zielumgebung neu geordnet werden müssen. Auch RLS sollte nach dem Import ausdrücklich geprüft und aktiviert werden.
Bei kompatiblen PostgreSQL-Quellen kann logische Replikation die finale Schreibpause verkürzen. DDL, Sequenzen und einige Objekttypen benötigen trotzdem einen gesonderten Cutover-Schritt.
Nein. Der Datenbankumzug stellt noch keine Auth-, Storage-, Realtime- oder Functions-Integration her. Diese Dienste werden nur eingebunden, wenn die Anwendung sie tatsächlich nutzen soll.
Eine Supabase-Migration beginnt bei 3.490 Euro netto. Der konkrete Umfang und Preis richten sich nach Quelle, Datenvolumen, Kompatibilität, Cutover und gewünschten Supabase-Komponenten.
Mehr zu Supabase
- Was ist Supabase?
- Supabase Cloud vs. Self-Hosted
- Supabase Self-Hosting: Vorteile & Nachteile
- Supabase-Kosten: Cloud vs. Self-Hosted
- Supabase Cloud zu Self-Hosted migrieren
- Supabase-Projekt, Region oder Organisation migrieren
- PostgreSQL zu Supabase migrieren
- AWS RDS und Aurora zu Supabase migrieren
- Heroku Postgres zu Supabase migrieren
- Neon und Vercel Postgres zu Supabase migrieren
- MySQL und MariaDB zu Supabase migrieren
- Microsoft SQL Server und Azure SQL zu Supabase migrieren
- Firebase zu Supabase migrieren
- Lovable Cloud zu Supabase migrieren
- Auth0 zu Supabase Auth migrieren
- Supabase-Migrationscheckliste
- Supabase vollständig sichern
- Supabase Self-Hosted aktualisieren
- Supabase RLS prüfen
- Supabase auf Hetzner betreiben
- Supabase mit Coolify installieren





