コマンドラインからPostgreSQLクエリを実行する 質問する

コマンドラインからPostgreSQLクエリを実行する 質問する

テーブルにデータを挿入しました。行と列とデータを含むテーブル全体を表示したいのですが、コマンドを使用してそれを表示するにはどうすればよいですか?

ベストアンサー1

psql -U username -d mydatabase -c 'SELECT * FROM mytable'

postgresql を初めて使用し、コマンドライン ツールの使用に慣れていない場合はpsql、対話型セッションを開始したときに、いくつかの混乱を招く動作に注意する必要があります。

たとえば、対話型セッションを開始します。

psql -U username mydatabase 
mydatabase=#

この時点でクエリを直接入力できますが、クエリをセミコロンで終了することを忘れないでください。;

例えば:

mydatabase=# SELECT * FROM mytable;

セミコロンを忘れると、Enter キーを押したときに、psqlクエリの入力が終了していないとみなされるため、戻り行に何も表示されません。これにより、さまざまな混乱が生じる可能性があります。たとえば、同じクエリを再入力すると、構文エラーが発生する可能性が高くなります。

実験として、psql プロンプトで任意の文字化けした文字列を入力して Enter キーを押します。何もpsql表示されずに新しい行が表示されます。その新しい行にセミコロンを入力して Enter キーを押すと、次のエラーが表示されます。

mydatabase=# asdfs 
mydatabase=# ;  
ERROR:  syntax error at or near "asdfs"
LINE 1: asdfs
    ^

経験則はこうです: 相手から返事が来なかったpsqlが、少なくとも何かが来ると期待していた場合は、セミコロンを忘れたということです。;

おすすめ記事