HOWTO · PostgreSQL

Spaltennamen in PostgreSQL abrufen

Es gibt zwei Methoden, um den Spaltennamen von Postgres zu erhalten. Sie können den Befehl d+ für den Tabellennamen oder den SQL-Befehl verwenden.

Auf dieser Seite

In diesem Artikel wird erläutert, wie Sie den Spaltennamen mit dem Befehl \d+ in PostgreSQL erhalten.

Holen Sie sich den Spaltennamen mit dem Befehl \d+ in PostgreSQL

Eine Spalte hat mehrere Eigenschaften. PostgreSQL verfügt über einige integrierte Funktionen, die die Spaltendetails einer Tabelle anzeigen können.

In meinem System gibt es die folgende Tabelle in der Datenbank.

postgres=# \dt
          List of relations
 Schema |   Name   | Type  |  Owner
--------+----------+-------+----------
 public | account  | table | postgres
 public | accounts | table | postgres
 public | bank     | table | postgres
 public | logger   | table | postgres
 public | product  | table | postgres
 public | purchase | table | postgres
 public | randoms  | table | postgres
 public | students | table | postgres
 public | times    | table | postgres
 public | wishlist | table | postgres
(10 rows)
postgres=#

Ich möchte alle Spaltennamen, Typen und Details für die Tabelle "Konten" sehen.

Syntax:

\d+ accounts

Ausgang:

Holen Sie sich den Spaltennamen mit dem Befehl d+ in PostgreSQL

Außerdem zeigt dieser Befehl alle Einschränkungen, die sich auf diese Tabelle beziehen.

SQL-Abfrage zum Abrufen des Spaltennamens

Bevor wir die Abfrage schreiben, müssen wir wissen, in welcher Tabelle diese Informationen gespeichert sind. Die "information_schema.columns" enthalten die Spalteninformationen für die Tabelle und haben viele Felder.

Die vollständige Liste ist hier zu sehen.

Anfrage:

SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name = 'accounts';

Ausgang:

 column_name |          data_type
-------------+-----------------------------
 user_id     | integer
 postcode    | integer
 age         | integer
 height      | integer
 timestamp   | timestamp without time zone
 username    | character varying
 password    | character varying
 email       | character varying
 contact     | character varying
(9 rows)

Außerdem können Sie eine zusätzliche Überprüfung vornehmen. Denn hier verwende ich die PSQL-Shell. Ich bin standardmäßig mit einer bestimmten Datenbank verbunden, und die Abfrage wird über dieses Schema ausgeführt.

Die aktualisierte SQL-Anweisung sieht wie folgt aus.

Anfrage:

SELECT column_name, data_type,
FROM information_schema.columns
WHERE
table_name = 'table_name'
AND table_catalog = 'database_name'
AND table_schema = 'schema_name'

Hier ist die offizielle Dokumentation link für die "schema-table".