psqlコマンドラインインターフェイスを使用してテーブルのデータを表示する方法


101

psqlコマンドラインインターフェイスを使用してテーブル内のすべてのコンテンツを表示する方法はありますか?

を使用\listしてすべてのデータベース\dを表示し、すべてのテーブルを表示できますが、テーブル内のすべてのデータを表示するにはどうすればよいですか?


stackoverflow.com/questions/9178406/…これは参考になるかもしれません。
Wanna Coffee

回答:


163

新しいバージョン:(8.4以降- リリースノートに記載

TABLE mytablename;

より長いですが、すべてのバージョンで動作します:

SELECT * FROM mytablename;

\x読みやすいように、幅の広いテーブルの場合は、最初に使用することをお勧めします。

長いデータの場合:

SELECT * FROM mytable LIMIT 10;

または類似。

ワイドデータ(大きな行)の場合、psqlコマンドラインクライアントで\xは、表形式ではなく、キー/値の形式で行を表示するために使用すると便利です。たとえば、

 \x
SELECT * FROM mytable LIMIT 10;

すべての場合において、末尾のセミコロンが重要であることに注意してください。


1
より大きなテーブルを処理する場合の上記の回答への便利な追加LIMIT 100は、コマンドに追加することです。これにより、最初の100(または必要な数の)行だけを表示できます。
Matt

SQLコマンドでは大文字のみが機能します。そのため、「select * from ...」は機能しません。「SELECT * FROM ...」を使用する必要があります(とにかくバージョン9.1で)
MacGyver

2
@MacGyverこれは、ごく最近のPostgreSQLバージョンにも当てはまりません。私は7.2にまでさかのぼるとしてPgのを使用し、それが(のような混在ケース識別子名の前後識別子、引用規則を除き、小文字の対資本を気にしませんでした"MyTable"MyTable)。
クレイグリンガー、2017

単純にデータを表示できなかったため、この質問に出たのはそのためです。小文字を使用していた。大文字を試してみたところ、奇妙に聞こえるかもしれませんが、うまく機能しました。現在は再現できませんが、コメントを保持して、再度失敗する場合は戻ってきます。
MacGyver 2017

1
@AntonKahwajiバージョン8.4以降で使用できます。公式ドキュメントを
Vignesh Raja

2

Windowsでは、引用符で囲んだテーブル名を使用します。 TABLE "user";またはSELECT * FROM "user";

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.