Lastig

初級Web系エンジニアの技術系とかもろもろのブログ

PostgreSQL便利テク メモ

PostgreSQLの便利テクを随時集めていく。

versionは9.3 ~ 9.6あたり。(←適当)

psqlによる定期実行

select now(); \watch 3

3秒ごとに「select now();」を発行する。
insert文でも使えるので、1分毎とか30分毎ごとに登録されるダミー値作るのとかにも使えそう。

ストアドプロシージャの書き方サンプル
関数作成

CREATE FUNCTION func_sample()
 RETURNS SETOF bigint
 AS
 '
     SELECT id from table ;
 '
 LANGUAGE 'sql' ;

トランザクションを明記する必要があれば、SELECT文の前後にBEGIN, ENDを追記する。

関数実行。

select func_sample();


データをCSV形式で吐き出す

\COPY (select * from table) TO 'C:\sample.csv'(FORMAT csv);