Jak wyświetlić dane w tabeli za pomocą interfejsu wiersza poleceń psql?

102

Czy istnieje sposób, aby wyświetlić całą zawartość tabeli za pomocą interfejsu wiersza poleceń psql?

Mogę użyć, \listaby pokazać wszystkie bazy danych, \daby pokazać wszystkie tabele, ale jak mogę wyświetlić wszystkie dane w tabeli?

Lisa
źródło
stackoverflow.com/questions/9178406/ ... to może być pomocne.
Wanna Coffee

Odpowiedzi:

163

Nowsze wersje: (od 8.4 - wspomniane w informacjach o wydaniu )

TABLE mytablename;

Dłuższy, ale działa we wszystkich wersjach:

SELECT * FROM mytablename;

Możesz chcieć użyć jako \xpierwszego, jeśli jest to szeroki stół, dla czytelności.

W przypadku długich danych:

SELECT * FROM mytable LIMIT 10;

lub podobne.

W przypadku szerokich danych (dużych wierszy) w psqlkliencie wiersza poleceń przydatne \xjest wyświetlanie wierszy w formie klucza / wartości zamiast w tabeli, np.

 \x
SELECT * FROM mytable LIMIT 10;

Zauważ, że we wszystkich przypadkach średnik na końcu jest ważny.

Craig Ringer
źródło
1
Przydatnym dodatkiem do powyższej odpowiedzi, w przypadku większych tabel, jest dodanie LIMIT 100do polecenia, abyś mógł wyświetlić tylko pierwsze 100 (lub dowolną liczbę) wierszy.
Matt,
W przypadku polecenia SQL działają tylko wielkie litery. Dlatego „wybierz * z ...” nie będzie działać. Musisz użyć „SELECT * FROM ...” (cóż, w każdym razie w wersji 9.1)
MacGyver,
2
@MacGyver To nie było prawdą w przypadku żadnej, nawet nieco niedawnej wersji PostgreSQL. Używałem Pg już w 7.2 i nie obchodziło go duże i małe litery (z wyjątkiem reguł cytowania identyfikatorów wokół nazw identyfikatorów składających się z różnych liter, takich jak "MyTable"vs MyTable).
Craig Ringer
To był powód, dla którego przyszedłem do tego pytania, ponieważ po prostu nie mogłem wyświetlić danych. Używałem małych liter. Kiedy wypróbowałem wielkie litery, zacząłem działać, tak dziwnie, jak się wydaje. Chociaż nie mogę teraz odtworzyć, zachowam swoje komentarze i wrócę, jeśli okaże się, że znowu zawodzi.
MacGyver
1
@AntonKahwaji Jest dostępny od wersji 8.4. Proszę zapoznać się z oficjalną dokumentacją
Vignesh Raja,
2

W systemie Windows użyj nazwy tabeli w cudzysłowie: TABLE "user";lubSELECT * FROM "user";

israteneda
źródło