Einführung in das Anzeigen von Postgres-Spaltennamen und des information_schema
Wenn Sie Informationen zu einer PostgreSQL-Tabelle oder einem anderen Objekt benötigen, kann es hilfreich sein, sich das Schema dieses Objekts anzusehen. In PostgreSQL können diese Schemas zusammen mit anderen wichtigen Informationen angezeigt werden, indem Sie auf die information_schema
. In diesem Artikel zeigen wir Ihnen, wie Sie eine Verbindung zu PostgreSQL herstellen und ein Tabellenschema mithilfe des Postgres information_schema anzeigen.,
Voraussetzungen zur Verwendung von PostgreSQL
Bevor wir versuchen, eine Verbindung zu PostgreSQL herzustellen und einige SQL-Anweisungen auszuführen, gehen wir einige der wichtigsten Voraussetzungen für diese Aufgabe durch:
-
Stellen Sie zunächst sicher, dass PostgreSQL auf Ihrem Gerät installiert ist. Wenn Sie nicht sicher sind, ob dieser Dienst installiert ist, verwenden Sie den Befehl
service postgresql status
, um herauszufinden, ob der Statusactive
ist. -
Sie müssen auch
psql
installieren, um mit PostgreSQL über die Befehlszeile zu interagieren., Sie können den Befehlpsql -V
verwenden, um zu bestätigen, dass diese interaktive PostgreSQL-Schnittstelle installiert ist und auf Ihrem Computer funktioniert.
Erstellen Sie eine Datenbank für Postgres, die zum Anzeigen des Tabellenschemas verwendet wird
Wenn Sie auf Ihrem Server keine PostgreSQL-Datenbank eingerichtet haben, erstellen Sie eine, mit der Sie diesem Tutorial folgen können., Sie können eine Datenbank mit dem folgenden Befehl erstellen:
1
|
CREATE DATABASE some_db;
|
- Geben Sie den Befehl
\l
in diepsql
Befehlszeilenschnittstelle ein, um eine Liste aller Datenbanken auf Ihrem Postgres-Server anzuzeigen. - Verwenden Sie als Nächstes den Befehl
\c
gefolgt vom Datenbanknamen, um eine Verbindung zu dieser Datenbank herzustellen.,
Zugriff auf PostgreSQL über die Befehlszeilenschnittstelle ‚psql‘
Mit dem folgenden Befehl können Sie über die psql
Befehlszeilenschnittstelle auf eine PostgreSQL-Datenbank zugreifen:
1
|
sudo su-postgres
|
Sie werden nach dem Passwort gefragt. Nach der Eingabe haben Sie Zugriff auf PostgreSQL.,
Sobald Sie verbunden sind, verwenden Sie den folgenden Befehl aus, um den Zugriff auf Ihre Datenbank mit einem Benutzernamen:
1
|
psql some_username -h 127.0.0.1 -d some_database
|
-d
Flagge bedeutet die Postgres-Datenbank-name. Wenn Sie erneut nach einem Passwort gefragt werden, geben Sie es einfach ein und drücken Sie die EINGABETASTE.,
Alle PostgreSQL-Tabellen für die Datenbank anzeigen
Wenn Sie alle Tabellen anzeigen möchten, die bereits erstellt wurden, können Sie entweder den Befehl \d
oder verwenden, um sie aufzulisten., Diese Befehle geben eine Tabelle zurück, die PostgreSQL-Tabellendaten im folgenden Format enthält:
Zeigen Sie die PostgreSQL-Tabelle mit dem Schema ‚pg_catalog‘ an
Sie können auch eine SELECT
Anweisung verwenden, um die pg_catalog
Schema für alle Tabellen in der aktuellen Datenbank anzuzeigen:
1
|
SELECT * FROM pg_catalog.pg_tables WHERE schemaname != ‚pg_catalog‘ UND schemaname !,= ‚information_schema‘;
|
Die obige Anweisung zeigt den Namen, den Eigentümer der Tabelle, alle Indizes und andere Informationen an:
HINWEIS: Wir verwenden die Klausel WHERE
, um die zurückgegebenen Set-PostgreSQL-Tabellen zu filtern. Der!=
– Operator, der in unsererWHERE
– Klausel verwendet wird, gibt an, dass der Wert vonschemaname
NOT EQUAL TO
die angegebene Bedingung sein muss.,
Stellen Sie eine Verbindung zu Postgres her, um das Tabellenschema und die Spaltennamen anzuzeigen
Sehen wir uns einige weitere Beispiele an, die die information_schema
verwenden, um auf Spalten-und Schemainformationen für eine bestimmte PostgreSQL-Tabelle zuzugreifen:
1
2 3 |
SELECT * FROM information_schema.,spalten
WOBEI table_schema = ’some_schema‘ UND TABLE_NAME = ’some_table‘; |
HINWEIS: Wenn Sie auf Tabellennamen und Schema-Zeichenfolgenwerte in Ihrer WHERE
– Klausel verweisen, sollten Sie diese in Anführungszeichen setzen ('
) markiert, um Fehler zu vermeiden.,
The next SQL statement will return all the information_schema
‘s attributes for a particular table:
1
|
SELECT * FROM information_schema.,columns WHERE TABLE_NAME = ’some_table‘;
|
Verwenden Sie das information_schema in Postgres, um die Spaltennamen für eine Tabelle abzurufen
Wenn Sie es vorziehen, nur auf die Spaltennamen einer Tabelle über die information_schema
zuzugreifen.in Ihrer SELECT
Anweisung:
1
|
WÄHLEN SIE column_name AUS information_schema.,mehrere Reihen von Daten die den Spaltennamen für die PostgreSQL-Tabelle:
Abschluss der PostgreSQL-Tabelle anzeigen schema verwendenWenn Sie die Arbeit mit Daten in PostgreSQL, werden Sie wahrscheinlich feststellen, selbst benötigen, um Informationen über Ihre Tische., Glücklicherweise ist es einfach, eine Verbindung zu PostgreSQL herzustellen und ein Tabellenschema mithilfe der |