sooni

PostgreSQL

PostgreSQL 複数行の値を1行でまとめて表示する

group by で指定するグループ内の複数項目を指定順番に連結し表示する。OracleではLISTAGG()関数が用意されていますが、これをPostgreSQLでは2つの関数を組み合わせて実現できます。 array_agg()で配列化した...
oracle

LISTAGG 複数行の値を1行でまとめて表示する

LISTAGG集計関数 先日SELECTで複数行返却される値をJava側で1行にまとめる実装を見ました。まぁ、SQLの方言に依存する実装を強く勧める気は全くありませんが、SQLでの実装も可能です。以下例題では"/"で区切っていますが、当然カ...
PostgreSQL

PostgreSQL ユーザを作成する

create user ロール作成属性を保持しているユーザ(ロール)にてcreateできます。デフォルトではpostgresユーザで作成する事になるとおもいます。 作成したユーザはpg_hba.confでの制限がない限り、どのデータベースへ...
information_schema

PostgreSQL テーブル構成カラム一覧

カラム一覧出力SQL 以下スキーマ、テーブル名を適宜変更してお使いください。 select --c.table_schema,c.table_name, c.column_name,c.ordinal_position as "positi...
oracle

ORA-28002: パスワードは、XX日以内に期限切れになります。

ORA-28002が発生するもまだログインはできます。メッセージの通り数日以内に期限切れが発生しログインができなくなってしまうので対策が必要です。対策として2つあります。パスワードを更新する、もしくはパスワード権限を無期限にする方法です。今...
PostgreSQL

PostgreSQL 生成列(Oracleの仮想列)

PostgreSQLにもVer.12から生成列(Oracleの仮想列、MySQLの生成列)が利用できます。生成列とは他の列から計算された値を持つカラムです。実際に値を持つのでインデックスの作成もできますが、insert/updateで直接カ...
データ・ディクショナリ

Oracle ロール一覧

ロール一覧(システム提供ロールとユーザ作成ロールを区別する) ロール一覧出力SQL ORACLE_MAINTAINED='Y'のロールがシステムで提供しているロールで='N'が「ユーザ作成ロール」となります。 select ROLE,ORA...
PostgreSQL

PostgreSQL ストアドファンクションサンプル

PostgreSQL ストアドファンクションサンプル 「raise info」で標準出力しています。デバッグ等に使います。Oracleでいうところのdbms_output.put_line()のように利用します。PostgreSQLのファン...
PostgreSQL

PostgreSQL カレントスキーマを変更する

カレントスキーマを変更する postgreSQLには「カレントスキーマ」という言葉があります。スキーマ修飾を省略して各種オブジェクトを指定した際「まず最初に参照するスキーマ」の事です。また、このスキーマ参照順序をサーチパスといいます。デフォ...
PostgreSQL

PostgreSQL よく使うシステム情報関数

システム情報関数 セッション情報関数 No. 関数名 説明 備考 1 current_database() 現在のデータベースの名前 2 version() PostgreSQLバージョン情報 コメント情報関数 No 関数名 説明 備考 1...