環境
Ubuntu 20.4
PostgreSQL 12.10
やったこと
psqlメタコマンドを実行するには、PostgreSQLに接続してからコマンドを実行する手順となるが、毎回、PostgreSQLに接続に接続することなく、実行したいpsqlメタコマンドをバッチファイルに記述して、一発で実行する方法があります。
この方法を始めて知ったとき「それ、早く言ってよ~」と思ったので、記事にしました。
テーブルの一覧を表示させたいときは、次の1行を記述した、test.sqlファイルを作成します。
test.sql
\d
次のコマンドを実行すると、test.sqlが実行されて、test.sqlに記述したコマンドの結果が出力されます。
$psql -f test.sql データベース名
テーブルの一覧を参照したい場合は、test.sqlをこのように記述します。そして、上記のコマンドを実行します。(SQL文の最後につける、;はあってもなくても動きます。つけておいた方が丁寧でしょう)
test.sql
select * from テーブル order by id;
COPY文でCSVファイルを出力することもできます。test.sqlをこのように記述します。
test.sql
COPY テーブル TO './テーブル.csv';
PostgreSQLのバージョンを知りたいときは、test.sqlをこのように記述します。
test.sql
select version();