🧚 Hör mal! Beekeeper Studio ist eine schnelle, moderne Open-Source-Datenbank-GUI Download
8. April 2024 Von Matthew Rathbone

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.

Die Linux-Version von Beekeeper hat 100% des Funktionsumfangs, ohne Abstriche und ohne Kompromisse.

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.“
— Alex K., Datenbankentwickler
★★★★★
„Ich habe viele Datenbank-GUIs ausprobiert, aber Beekeeper trifft die perfekte Balance zwischen Funktionsumfang und Einfachheit. Es funktioniert einfach.“
— Sarah M., Full Stack Engineer

Bereit, deinen SQL-Workflow zu verbessern?

download Kostenlos herunterladen