ユーザ用ツール

サイト用ツール


it技術:データベース:postgresql

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
it技術:データベース:postgresql [2022/10/15 07:50] – [サポート終了期限(EOL=End Of Life)] yajuadminit技術:データベース:postgresql [2024/04/24 16:37] (現在) – [複合インデックス] yajuadmin
行 57: 行 57:
 |14.0|2021/09/30|[[it技術:データベース:postgresql#postgresql14情報|postgresql14情報]] | |14.0|2021/09/30|[[it技術:データベース:postgresql#postgresql14情報|postgresql14情報]] |
 |15.0|2022/10/06|[[it技術:データベース:postgresql#postgresql15情報|postgresql15情報]] | |15.0|2022/10/06|[[it技術:データベース:postgresql#postgresql15情報|postgresql15情報]] |
 +|16.0|2023/09/14|[[it技術:データベース:postgresql#postgresql16情報|postgresql16情報]] |
 ==== サポート終了期限(EOL=End Of Life) ==== ==== サポート終了期限(EOL=End Of Life) ====
 https://www.postgresql.org/support/versioning/ https://www.postgresql.org/support/versioning/
  
 ^バージョン^初期リリース日^サポート終了期限^ ^バージョン^初期リリース日^サポート終了期限^
 +|16|2023年09月14日|2028年11月9日|
 |15|2022年10月13日|2027年11月11日| |15|2022年10月13日|2027年11月11日|
 |14|2021年09月30日|2026年11月12日| |14|2021年09月30日|2026年11月12日|
行 220: 行 222:
   * バージョン非互換対応(新機能ではないけど)   * バージョン非互換対応(新機能ではないけど)
     * PublicスキーマのCreate権限がデフォルトからなくなる      * PublicスキーマのCreate権限がデフォルトからなくなる 
 +
 +==== PostgreSQL16情報 ====
 +2023-09-14にリリース
 +
 +=== 主な新機能 ===
 +[[https://www.sraoss.co.jp/tech-blog/pgsql/pg16report/|PostgreSQL 16検証報告]]\\
 +[[https://community.hpe.com/t5/hpe-blog-japan/%E7%AF%A0%E7%94%B0%E3%81%AE%E8%99%8E%E3%81%AE%E5%B7%BB-postgresql-16-beta-1-%E6%96%B0%E6%A9%9F%E8%83%BD%E6%A4%9C%E8%A8%BC%E7%B5%90%E6%9E%9C-%E5%85%AC%E9%96%8B/ba-p/7188972?profile.language=ja|篠田の虎の巻「PostgreSQL 16 Beta 1 新機能検証結果」公開!]]
 +
 +  * 性能向上
 +    * パラレルクエリ対応追加
 +    * ウィンドウ関数の最適化
 +    * 同時データ投入の性能向上
 +    * SIMD CPUアクセラレータ対応
 +  * SQL機能
 +    * SQL/JSON 対応
 +    * 整数リテラル表現の追加
 +    * ICU照合順序の拡張
 +    * ロジカルレプリケーション機能追加
 +    * スタンバイ上でのパブリケーション
 +    * トランザクションの並列適用
 +    * 双方向ロジカルレプリケーション
 +  * クライアント機能
 +    * libpqロードバランス
 +    * psqlで拡張プロトコル対応
 +    * pg_dump圧縮オプション追加
 +  * 運用管理
 +    * 新たなモニタリング項目
 +    * 新たな定義済みロール
 +    * ページ凍結の改善
 +    * VACUUMリングバッファ指定
 +    * Mesonビルド
 ===== 設定について ===== ===== 設定について =====
 postgresql.confの設定値は、下記SQLで context の値により設定反映のタイミングが違う。 postgresql.confの設定値は、下記SQLで context の値により設定反映のタイミングが違う。
行 352: 行 385:
 search_path = 'test,"$user", public' # schema names search_path = 'test,"$user", public' # schema names
 </code> </code>
 +==== psqlの使い方 ====
 +psqlの機能やの使い方を紹介しているスライド資料\\
 +[[https://event.ospn.jp/slides/OSC2022_OnlineKyoto/OSC-kyoto-psql.pdf|psqlの使い方 - pdf]]
 +
 ==== psqlのパスワード入力省略 ==== ==== psqlのパスワード入力省略 ====
 パスワード入力なしでpsqlを実行するには、下記フォルダの「pgpass.conf」にパスワードを設定しておく。 パスワード入力なしでpsqlを実行するには、下記フォルダの「pgpass.conf」にパスワードを設定しておく。
行 609: 行 646:
 |×|×|×|不可| |×|×|×|不可|
  
 +=== bloomインデックス ===
 +bloomインデックスは、その名前のとおり、ブルームフィルタを用いて、条件を満たさないタプルを高速に除外する(=条件を満たす「かもしれない」タプルを残す)ことが可能なインデックスメソッドです。
 +
 +主キーが複数の場合のインデックスにはデフォルトのb-treeインデックスが使用されるが、弱点として先頭のキーが外れるとインデックスが使われなくなる。その場合に複数列インデックスには、bloomインデックスを使用することで、先頭のキーが条件が外れていてもインデックスが使われる。\\
 +[[https://qiita.com/nuko_yokohama/items/4a7fe2a731a479189034|bloomインデックス]]
 +
 +bloomインデックスの本領は、複数列に対するインデックス設定をするときに発揮されます。bloom複合列インデックスの場合は、定義した列の順序に関係なくインデックス検索→Birmap Scanになります。B-Treeインデックスが使われるたケースと比べると検索時間は遅くなりますが、SeqScanほど遅くはないという検索時間になります。
 +
 +<code sql>
 +-- 拡張追加
 +create extension bloom
 +-- 拡張確認
 +SELECT * FROM pg_available_extensions WHERE installed_version IS NOT NULL
 +-- bloomインデックスを追加
 +CREATE INDEX idx_res_match ON res_match USING bloom (factory_cd, line_cd, seq_no, lotserial, cp_cd)
 +</code>
 ==== 実行計画の取得 ==== ==== 実行計画の取得 ====
 SQLの前に「EXPLAIN」か「EXPLAIN ANALYZE」を付ける。\\ SQLの前に「EXPLAIN」か「EXPLAIN ANALYZE」を付ける。\\
it技術/データベース/postgresql.1665787810.txt.gz · 最終更新: 2022/10/15 07:50 by yajuadmin