PostgreSQL

PostgreSQL

PostgreSQL generate_series() シーケンスと行データを生成

generate_series() 指定された範囲で整数のシーケンスを生成し結果セットとして返却します。地味だけで便利な関数です。OracleやMySQLにはこれに相当する関数は無いとおもいます。ちょっとしたテストデータとして副問い合わせで...
PostgreSQL

PostgreSQL 日付の計算/時間の計算

100分後、100時間後 SELECT current_date,current_timestamp,CURRENT_TIMESTAMP + INTERVAL '100 minutes'; SELECT current_date,curre...
PostgreSQL

PostgreSQL 乱数作成

お手軽に英数字を使ったランダム文字列作成 MD5ハッシュは16進表現となるので、出力されるのは0-9、a-fの範囲内でのランダム文字です select substr(md5(random()::text || now()::text),1,...
PostgreSQL

PostgreSQL with句

with句自体の書き方はOracleと同じですが、PostgreSQL独自のVALUEリストと組み合わせて利用するとさらに便利に感じます。 VALUEリストと組み合わせた利用例 with wktbl as ( SELECT * FROM (...
PostgreSQL

PostgreSQL 文字列操作

quote_ident()  地味ですが有り難い関数です。たまに環境によっては、テーブル名やカラム名をダブルクォーテーションで囲まないとならない場合があります。例えば以下のようにテーブル名に日本語を使うようなケースです。このような時、inf...
PostgreSQL

PostgreSQL valueリスト

PostgreSQLのVALUEリストがありがたいです。 VALUEリストの使用例 select * from ( values (1, '大嶋', 'oshima'), (2, '中嶋', 'nakajima'), (3, '小嶋', '...
pg_catalog

pg_stat_user_functions ファンクションの利用状況を調べる

ユーザ作成したファンクションの実行統計情報(呼び出し回数と所要時間)を確認できます。現在のトランザクション中に呼び出されたものだけを確認するにはpg_stat_xact_user_functionsを使用するらしいのですが、こちらはいま一つ...
pg_catalog

PostgreSQL 実行SQLの統計情報を取得する

pg_stat_statements pg_stat_statements拡張モジュールをインストールする事で、サーバで実行されたすべてのSQL文のプラン生成時と実行時の統計情報を取得できるようになります。PostgreSQLにおいてSQL...
PostgreSQL

PostgreSQL タイムゾーン

タイムゾーンを確認する -- SQLで確認する select current_setting('timezone') as database_timezone; -- showコマンドで確認する show timezone; myposdb...
PostgreSQL

PostgreSQL 接続先を確認するファンクション

connect_point() 接続先を確認する 個人的には、接続ユーザだれからも利用できるようにpublicスキーマへ作成して使っています。createの際は適宜スキーマ修飾してください。security definerとしないのは、作成...