In diesem Artikel schauen wir uns eines der eingebauten Systeme von PostgreSQL genauer an: das information_schema.
Was ist Information_Schema?
Information_schema ist ein Systemkatalog, der aus einem standardisierten Satz von Views besteht, die Informationen über die Objekte deiner PostgreSQL-Datenbank enthalten. Im Grunde ist es eine Meta-Datenbank mit Informationen über deine aktuelle Datenbank. Es ist in allen standardkonformen SQL-Datenbank-Engines vorhanden und daher besonders bei Migrationen nützlich.
Beachte, dass information_schema schreibgeschützt ist: Neue Informationen einzufügen oder bestehende Daten zu ändern, ist nicht möglich. Sehen wir uns nun die verschiedenen Views im information_schema an, die dir bei vielen Aufgaben weiterhelfen können.
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'information_schema';
Der Code funktioniert mit allen PostgreSQL-Versionen.
Beim Ausführen liefert er eine Liste aller Views, die dir im information_schema zur Verfügung stehen.
Warum Information_Schema nutzen?
Das information_schema ist enorm wichtig, wenn du effektiver mit Datenbankstrukturen arbeiten willst – vor allem bei:
- Tabellen
- Spalten
- Indizes
- Trigger
- Constraints
- Schemas
Information_Schema.Tables
Die View information_schema.tables enthält Details zu allen Tabellen in der verbundenen Datenbank.
SELECT table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE'
AND table_schema NOT IN ('pg_catalog', 'information_schema');
Der Code funktioniert mit allen PostgreSQL-Versionen. Als Ergebnis erhältst du eine Liste aller Basistabellen in deiner Datenbank.
Information_Schema.Columns
Über die View information_schema.columns kannst du Details zu den Spalten in deiner Datenbank abrufen.
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
AND table_name = 'your_table';
Der Code funktioniert mit jeder PostgreSQL-Version. Ersetze ‘your_table’ durch deinen Tabellennamen, um eine Liste aller Spalten samt Datentypen der angegebenen Tabelle zu erhalten.
Information_Schema.Triggers
Informationen über Trigger helfen beim Debuggen oder beim Verstehen von Abhängigkeiten. Mit der View information_schema.triggers rufst du Details zu den Triggern der Datenbank ab.
SELECT event_object_table, trigger_name, action_statement, action_timing
FROM information_schema.triggers;
Dieser Code funktioniert mit allen PostgreSQL-Versionen und liefert Tabellenname, Triggername, die Trigger-Aktion und deren Zeitpunkt.
Information_Schema.Key_Column_Usage
Die View information_schema.key_column_usage liefert Informationen, mit denen du Fremdschlüsselbeziehungen in deiner Datenbank leichter verstehst.
SELECT constraint_name, table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 'your_table';
Ersetze ‘your_table’ durch deinen Tabellennamen und führe den Code aus (funktioniert mit allen PostgreSQL-Versionen), um constraint_name, table_name, column_name und ordinal_position für jeden Schlüssel der angegebenen Tabelle zu erhalten.
Fazit
In diesem Tutorial haben wir uns das information_schema von PostgreSQL genauer angesehen. Mit den Views im information_schema behältst du besser die Kontrolle und gewinnst tiefere Einblicke in Struktur und Elemente deiner Datenbank. Wenn du von einer anderen SQL-Datenbank zu PostgreSQL wechselst, sind die information_schema-Views besonders praktisch, da sie ein Standardbestandteil von SQL sind.
Dein Abenteuer mit PostgreSQL endet hier nicht. Bleib dran für weitere Guides, die tiefer in das riesige PostgreSQL-Universum eintauchen und fortgeschrittenere Themen, Tipps und Tricks behandeln.
Beekeeper Studio ist eine kostenlose & quelloffene Datenbank-GUI
Das beste SQL-Abfrage- & Editor-Tool, das ich je benutzt habe. Es bietet alles, was ich zum Verwalten meiner Datenbank brauche. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio ist schnell, intuitiv und einfach zu bedienen. Beekeeper unterstützt jede Menge Datenbanken und läuft hervorragend auf Windows, Mac und Linux.
Was Nutzer über Beekeeper Studio sagen
„Beekeeper Studio hat meinen alten SQL-Workflow komplett ersetzt. Es ist schnell, intuitiv und macht die Arbeit mit Datenbanken wieder zum Vergnügen.“
„Ich habe viele Datenbank-GUIs ausprobiert, aber Beekeeper trifft die perfekte Balance zwischen Funktionsumfang und Einfachheit. Es funktioniert einfach.“