PostgreSQL

PostgreSQL

PostgreSQL 結合UPDATE

テーブル結合を伴うUPDATE 普段使う事が少ないのでつい忘れがちな結合UPDATEです。RDBMSによっても書き方が異なります。 まずは今回のテストデータは以下の通りです fruitテーブルのprice,discount項目値を、shop...
PostgreSQL

PostgreSQL パスワード変更

パスワード変更 パスワード変更はスーパーユーザもしくは自分自身でしか変更できません。 パスワード変更SQL alter user sooni WITH PASSWORD 'soopass' ; パスワード認証方式を確認するSQL 普段めった...
PostgreSQL

PostgreSQL SSL通信設定

PostgreSQLをデフォルトでインストールした状態だと、クライアントとPostgreSQLサーバ間は非SSLでの接続になっていますが、これをSSL接続できるようにします。 環境 CentOS Linux 8 OpenSSL 1.1.1k...
PostgreSQL

PostgreSQL 自動採番カラム(GENERATED ALWAYS AS IDENTITYに寄せてみる)

PostgreSQL版 generated always as identityをなんとかやってみる 以前こちらの記事でPostgreSQLで自動採番を実現する例を紹介しましたが、この時自動採番対象カラムに対し、PKもしくはユニークキーを指...
PostgreSQL

PostgreSQL 配列の扱い

何かと便利な配列処理 Oracleと比べて便利と感じることいくつかありますが、PostgreSQLの配列の扱いがラクチンです。 array()関数で配列化し、array_to_string()関数で文字列化 -- 検証データ myposdb...
pg_catalog

PostgreSQL セッション一覧を確認する

pg_stat_activity pg_stat_activityビューはOracleでいうv$sessionに相当すると思います。セッション一覧と記載していますが、正確には次の通りです。PostgreSQLのインスタンスではクライアントか...
PostgreSQL

PostgreSQL 無名ブロックサンプル

サンプル1 テストデータ作成などに利用するケース ストアドするほどではないのだけれど、とりあえず簡単なプロシージャを書きたい時や、簡単なテストデータを作成したい時など活躍します。 -- 以下サンプルプログラム用にテーブル作成 create ...
PostgreSQL

PostgreSQL ストアドプロシージャサンプル

OUTパラメータ付サンプル バージョン14以降であればOUTパラメータが有効になるのですが、バージョン14未満の場合プロシージャからの戻り値を取得する場合INOUTとしないといけません。 CREATE OR REPLACE PROCEDUR...
PostgreSQL

postgreSQLにはNVLがありません

NVLとCOALESCEとCASE文 今日後輩が、「PostgreSQLにNVLないんですかぁ?」と聞いてきたのですが、、、ありません。NVLはOracle独自の関数です。(実は私も、PostgreSQLに移ってきた時には戸惑いました) 検...
PostgreSQL

PostgreSQL インデックス一覧(構成項目あり)

インデックス構成項目 インデックス名とcreate index文を表示します。Oracleと異なりSELECT文で簡単にDDLを出力する事ができます。 select --t.schemaname,t.tablename, t.indexna...