Wie zeige ich Daten in einer Tabelle mithilfe der psql-Befehlszeilenschnittstelle?

101

Gibt es eine Möglichkeit, den gesamten Inhalt einer Tabelle mithilfe der psql-Befehlszeilenschnittstelle anzuzeigen?

Ich kann verwenden \list, um alle Datenbanken anzuzeigen, \dum alle Tabellen anzuzeigen, aber wie kann ich alle Daten in einer Tabelle anzeigen?

Lisa
quelle
stackoverflow.com/questions/9178406/… Dies könnte für Sie hilfreich sein.
Willst du Kaffee

Antworten:

163

Neuere Versionen: (ab 8.4 - in den Versionshinweisen erwähnt )

TABLE mytablename;

Länger, funktioniert aber bei allen Versionen:

SELECT * FROM mytablename;

Aus Gründen der \xLesbarkeit möchten Sie möglicherweise zuerst eine breite Tabelle verwenden.

Für lange Daten:

SELECT * FROM mytable LIMIT 10;

o.ä.

Für breite Daten (große Zeilen) ist es im psqlBefehlszeilenclient hilfreich, \xdie Zeilen in Schlüssel- / Wertform anstatt in Tabellenform anzuzeigen, z

 \x
SELECT * FROM mytable LIMIT 10;

Beachten Sie, dass in allen Fällen das Semikolon am Ende wichtig ist.

Craig Ringer
quelle
1
Eine nützliche Ergänzung zu der obigen Antwort für den Umgang mit größeren Tabellen ist das Hinzufügen LIMIT 100zu Ihrem Befehl, sodass Sie nur die ersten 100 (oder beliebig viele) Zeilen anzeigen können.
Matt
Für den SQL-Befehl funktionieren nur Großbuchstaben. "Select * from ..." funktioniert also nicht. Sie müssen "SELECT * FROM ..." verwenden (na ja, in Version 9.1 sowieso)
MacGyver
2
@MacGyver Das galt nicht für eine vage aktuelle PostgreSQL-Version. Ich habe Pg bereits in Version 7.2 verwendet und es war mir egal, ob Großbuchstaben oder Kleinbuchstaben verwendet wurden (mit Ausnahme von Regeln zum Zitieren von Bezeichnern bei Bezeichnernamen in Großbuchstaben wie "MyTable"vs MyTable).
Craig Ringer
Aus diesem Grund bin ich auf diese Frage gekommen, weil ich einfach keine Daten anzeigen konnte. Ich hatte die Kleinbuchstaben verwendet. Als ich das Großbuchstaben ausprobierte, ließ ich es funktionieren, so seltsam es klingt. Obwohl ich jetzt nicht reproduzieren kann, werde ich meine Kommentare behalten und zurückkommen, wenn ich erneut einen Fehler finde.
MacGyver
1
@AntonKahwaji Es ist ab Version 8.4 verfügbar. Bitte beziehen Sie sich auf Official Docs
Vignesh Raja
2

Verwenden Sie unter Windows den Namen der Tabelle in Anführungszeichen: TABLE "user";oderSELECT * FROM "user";

israteneda
quelle