Um eine Tabelle in PostgreSQL umzubenennen, verwendest du die ALTER TABLE-Anweisung gefolgt von der RENAME TO-Klausel.
Bevor du weiterliest, wollte ich dir kurz unsere Open-Source-PostgreSQL-GUI Beekeeper Studio vorstellen. Du kannst eine Tabelle umbenennen, indem du sie in der Seitenleiste mit der rechten Maustaste anklickst, und für PostgreSQL ist sie kostenlos – hier herunterladen.
Syntax
ALTER TABLE old_table_name RENAME TO new_table_name;
Beispiel
Angenommen, du hast eine Tabelle namens customers und möchtest sie in clients umbenennen. Der SQL-Befehl lautet:
ALTER TABLE customers RENAME TO clients;
Nach dem Ausführen des obigen Befehls heißt die Tabelle customers nun clients. Du kannst die Umbenennung prüfen, indem du das information_schema abfragst oder einfach alle Tabellen mit \d auflistest:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public';
Erwartete Ausgabe:
table_name
--------------
clients
other_table
Tabellen mit Abhängigkeiten umbenennen
Beim Umbenennen einer Tabelle solltest du bestehende Abhängigkeiten wie Fremdschlüssel, Indizes oder Trigger berücksichtigen. PostgreSQL sollte diese automatisch verarbeiten und die Verweise auf die umbenannte Tabelle aktualisieren.
Beispiel mit Fremdschlüssel
Angenommen, die Tabelle orders hat einen Fremdschlüssel, der auf die Tabelle customers verweist:
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
customer_id INT REFERENCES customers(customer_id)
);
Wenn du customers in clients umbenennst, aktualisiert PostgreSQL den Fremdschlüsselverweis automatisch:
ALTER TABLE customers RENAME TO clients;
Überprüfung
Um sicherzugehen, dass der Fremdschlüssel noch funktioniert, kannst du eine einfache INSERT-Anweisung ausführen:
INSERT INTO clients (customer_id) VALUES (1);
INSERT INTO orders (customer_id) VALUES (1);
Wäre der Fremdschlüsselverweis nicht aktualisiert worden, würde das zweite INSERT fehlschlagen. Klappt es, hat PostgreSQL den Verweis korrekt aktualisiert.
Eine Tabelle in einem Schema umbenennen
Liegt deine Tabelle in einem bestimmten Schema, musst du das Schema im ALTER TABLE-Befehl angeben.
Beispiel
Nehmen wir die Tabelle sales.customers im Schema sales:
ALTER TABLE sales.customers RENAME TO clients;
Die Tabelle sales.customers heißt jetzt sales.clients. Du kannst das prüfen, indem du die Tabellen im Schema sales auflistest:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'sales';
Erwartete Ausgabe
table_name
-----------
clients
other_table
Mit Beekeeper Studio
In Beekeeper Studio ist das Umbenennen einer Tabelle ganz einfach:
- Verbinde dich mit Beekeeper Studio mit deiner PostgreSQL-Datenbank.
- Klappe im linken Bereich das Schema auf, das die Tabelle enthält – dort siehst du eine Liste der Tabellen.
- Klicke mit der rechten Maustaste auf die Tabelle, die du umbenennen möchtest, und wähle die Option
rename table. - Gib den neuen Tabellennamen ein und drücke Enter.
Beekeeper Studio erledigt den Rest und schickt den passenden SQL-Befehl an deine PostgreSQL-Datenbank.
Hinweise und Best Practices
-
Index- und Constraint-Namen: PostgreSQL aktualisiert Abhängigkeiten wie Fremdschlüssel zwar automatisch, benennt aber keine Indizes oder Constraints um. Enthalten deren Namen den alten Tabellennamen, musst du sie eventuell manuell umbenennen.
-
Berechtigungen: Das Umbenennen einer Tabelle ändert nichts an ihren Berechtigungen. Wer Zugriff auf die alte Tabelle hatte, hat denselben Zugriff auf die umbenannte Tabelle.
-
Abhängige Views: Hängen Views von der Tabelle ab, funktionieren sie nach dem Umbenennen weiter. Der Übersichtlichkeit halber lohnt es sich aber, sie zu prüfen und anzupassen.
Fazit
Tabellen in PostgreSQL umzubenennen ist ein einfacher, aber wichtiger Vorgang. Egal ob Tabellen in verschiedenen Schemas oder Tabellen mit Abhängigkeiten – PostgreSQL erledigt das reibungslos und sorgt dafür, dass alle Verweise korrekt aktualisiert werden. Wenn du Best Practices befolgst und verstehst, wie das Umbenennen funktioniert, hältst du deine Datenbank konsistent und gut organisiert.
Weitere Artikel, die dir gefallen könnten:
Beekeeper Studio ist eine kostenlose & Open-Source-PostgreSQL-GUI
Das ist der PostgreSQL-Client, nach dem ich gesucht habe! Die Oberfläche macht den Unterschied: aufgeräumt, intuitiv, leistungsstark. Tschüss, klobiges PGAdmin. - David Cyprian
Beekeeper Studio ist ein schneller, intuitiver und einfach zu bedienender PostgreSQL-Client. Er unterstützt auch viele andere Datenbanken und läuft super unter Windows, Mac und Linux.
Was PostgreSQL-Nutzer über Beekeeper Studio sagen
Anders als pgAdmin ist Beekeeper bemerkenswert einfach zu bedienen, ohne dass Funktionen fehlen – und der Preis stimmt! Besonders nützlich ist die Backup-Funktion für Datenbanken. Einfach großartige Software.
Fantastisches Tool, die praktischste IDE, die ich bisher für die Administration von Postgres- und MySql-Datenbanken gefunden habe – funktioniert einfach, ohne Theater :-)