FrontPage > DataBase > PostgreSQL > PostgreSQLメモ

PostgreSQLメモ

変換関数

to_char (value, format)「number、date、timestamp -> char」へ変換
to_number (text, format)「char -> number」へ変換
to_date (text, format)「char -> date」へ変換
to_timestamp (text, format)「char -> timestamp」へ変換


trunc (number)小数点の切り捨て (number -> int)
trunc (number, int)指定した小数点位置(int)で切り捨て
date_trunc (format, timestamp)タイムスタンプの指定した精度未満を切り捨て(timestamp -> dateなど)

ファンクション

  • NVL代替え機能(coalesce) - NULLの置き換え処理。
  • SELECT時にレコード番号を振る(rownum)

タブ区切り、CSV(カンマ区切り)ファイルのインポート・エクスポート

タブ区切りファイルのインポート

XXX=# COPY [テーブル名] FROM '[ファイル名].txt';

CSV(カンマ区切り)ファイルのインポート

XXX=# COPY [テーブル名] FROM '[ファイル名].csv' WITH CSV;

タブ区切りファイルのエクスポート

XXX=# COPY [テーブル名] TO '[ファイル名].txt';

CSV(カンマ区切り)ファイルのエクスポート

XXX=# COPY [テーブル名] TO '[ファイル名].csv' WITH CSV;
or
XXX=# COPY [テーブル名] TO '[ファイル名].csv' DELIMITERS ',';
※「WITH CSV」は、「ヘッダ」、「クウォート指定」など対応。
※「DELIMITERS ','」は、疑似CSVファイル。

指定した内容だけCSV出力するには・・・。

XXX=# \pset format unaligned
XXX=# \pset fieldsep ','
XXX=# \o [ファイル名].csv
XXX=# SELECT [カラム名, ...] FROM [テーブル名] WHERE [判定式] ORDER BY [ソート順位];
XXX=# \o

psqlコマンド版

psql -t -A -F ',' -c 'select * from xxxx'

psqlコマンド版(タブ)

psql -t -A -F $'\t' -c 'select * from xxxx'

ロック確認

XXX=# SELECT
	PG_LOCKS.PID AS "PID",
	PG_DATABASE.DATNAME AS "DATABASE",
	PG_CLASS.RELNAME AS "NAME",
	PG_LOCKS.LOCKTYPE AS "LOCK TYPE",
	PG_LOCKS.MODE AS "LOCK MODE"
FROM PG_LOCKS
LEFT JOIN PG_DATABASE ON PG_LOCKS.DATABASE = PG_DATABASE.OID
LEFT JOIN PG_CLASS ON PG_LOCKS.RELATION=PG_CLASS.RELFILENODE
ORDER BY PG_LOCKS.PID;

ロック強制開放

XXX=# SELECT PG_CANCEL_BACKEND([PID]);

or

# kill -9 [PID]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-07-03 (金) 10:05:21