#はじめに
データベースのレコードをcsvなどのファイルに出力する方法は色々ありますが、今回はpostgresqlのpsql上での動作になります。
条件で絞り込んだり、必要なカラムのみで抽出したデータがほしい時などに使えると思います!
#psqlで実行したクエリの結果をcsvやtxt形式などで取得してみる
##①psqlを立ち上げる
$ psql hogehoge
適宜psqlを立ち上げてください。
##②csvを取得する
psql上で任意のクエリの結果をcsvで取得する。
book_system=# ¥a
book_system=# ¥f ,
book_system=# ¥o FILENAME.csv
book_system=# SELECT * FROM hogehoge;
これで、指定したディレクトリにfilename.csvというファイル名で、実行したクエリの結果が取得できます。
ーコマンド解説ー
- ¥a:通常psqlでクエリを実行すると、結果が見やすいように均等にスペースなどを使って表示してくれますが、¥aを実行すると均等にならないでスペースがなくなります。
- ¥f ,:通常psqlでクエリを実行すると、結果が見やすいように各カラムを | で区切ってくれますが、csv形式でファイルを読み込む際は ,(カンマ) 区切りの方が読み込みが楽なので区切り文字を変更します。
- ¥o filename.csv:実行するクエリを全てfilename.csvに出力します。ファイル形式をcsvからtxt、tcvなどに変更することができます。
こんな感じで、psql上で実行したクエリの結果をcsvやtxtなどで取得が可能になります!
#おわりに
sshで接続したサーバからローカルにデータを持ってきたい!
なんて場合には、scpコマンドを使ってあげるといいですねー。
ということで、以上『postgresqlのpsqlで実行したクエリの結果をcsvやtxt形式などで取得する』でした!