psqlで直接SQLを投げてcsv,tsvでファイル出力する方法




psql

psqlとはPostgreSQLとAmazon RedshiftのCLIクライアントです。MySQLのmysqlコマンドと同じように使うことができます。

psqlの扱いが慣れていなかったので簡単に紹介したいと思います。

psqlからRedshiftにつなぐ

これはPostgreSQLでも一緒です。パスワードはPGPASSWORDという環境変数に入れてることで自動でpsqlが読み込んでくれるようになります。mysqlクライアントとはオプションもだいたい同じような感じです。うまく行けばCLIが立ち上がります。

$ PGPASSWORD=PASSWORD
$ psql -U USER -h xxxx.redshift.amazonaws.com -p 5439 -d DBNAME

直接SQLを実行する

直接SQLを実行するには-cオプションをつけてSQLを書くだけです。

$ psql -U USER -h xxxx.redshift.amazonaws.com -p 5439 -d DBNAME -c "SELECT GETDATE();"

ファイルに書き出す

ファイルに書き出す場合はリダイレクさせるだけです。

$ psql -U USER -h xxxx.redshift.amazonaws.com -p 5439 -d DBNAME -c "SELECT GETDATE();" > ./test.log

さらにcsvとして吐き出す場合

$ psql -U USER -h xxxx.redshift.amazonaws.com -p 5439 -d DBNAME -c "SELECT GETDATE();" -A -F,> ./test.csv

tsvの場合は

$ psql -U USER -h xxxx.redshift.amazonaws.com -p 5439 -d DBNAME -c "SELECT GETDATE();" -A -F $'\t' > ./test.csv

psqlでも簡単にcsv,tsv形式でファイル出力できます。

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です