Skip to content

Instantly share code, notes, and snippets.

@ryu1
Last active August 30, 2019 04:26
Show Gist options
  • Select an option

  • Save ryu1/7c94e87127638bca8b49ec3030ea4c4d to your computer and use it in GitHub Desktop.

Select an option

Save ryu1/7c94e87127638bca8b49ec3030ea4c4d to your computer and use it in GitHub Desktop.
PostgreSQL Tips

PostgreSQL Tips

データベースに接続

$ psql -h "ホスト名" -p 5432 -U "ユーザ名" -d "データベース名"
password: ...

TSV形式でデータをファイルに出力する

// 出力先をファイルにする
psql# \o output_file.tsv

// 桁そろえをしない
psql# \a
Output format is unaligned.

// セパレータの設定。列区切りはタブ
psql# \pset fieldsep '\t'
Field separator is ' '.

// nullを空文字に変換する
psql# \pset null ''

// SQL実行
psql# SELECT id FROM users; 

// SQLファイルを読み込んで実行する場合
psql# \i input.sql

// 引き続き作業をする場合は、出力先を標準出力に戻す
psql# \o
#!/bin/bash
sqlfile=$1
outputfile=$2
host=''
port=''
user=''
database=''
psql -h $host -p $port -U $user -d $database -f $sqlfile -A -F $'\t' > $outputfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment