PostgreSQL

pg_hint_plan (PostgreSQL 実行計画制御ツール)

更新日:2024年12月27日

1. pg_hint_planとは

pg_hint_plan は PostgreSQL のクエリの実行計画を制御するためのモジュールです。本モジュールにより、他のリレーショナルデータベースで一般的な機能であるヒント句を PostgreSQL で利用することが可能になります。ヒント句とは実行されるクエリの実行計画の決定をプランナに任せきりにせず、プランナに実行計画を直接指示することを可能とする機能です。

続きを読む

pg_bigm (bi-gram インデックス)

更新日: 2024年12月27日

1. pg_bigm とは

pg_bigm は PostgreSQL に文字列の中間一致検索に使える GIN 方式のインデックスを提供するオープンソースの拡張モジュールです。以下のような B-tree インデックスを適用できない問い合わせを高速化することができます。

続きを読む

pg_rman (PostgreSQL のバックアップ/リストア管理ツール)

更新日:2025年1月17日

pg_rman とは

pg_rman とは PostgreSQL のバックアップ/リストア管理ツールです。

PostgreSQL 付属のバックアップ手段にはダンプ(SQL文による論理バックアップ)と PITR(Point In Time Recovery) があります。ダンプはリストアしてもバックアップした時点の状態まで戻ってしまいますが、PITR を用いればバックアップした時点から稼働時の直前まで任意の時点の状態にリストアできるといった利点があります。しかし、PITR のバックアップ/リストアは煩雑な手順が必要となります。

pg_rman は PITR の機能を簡易なコマンドで扱うことができます。また、バックアップの世代管理ができることも魅力の一つです。

続きを読む

PostgreSQL 10.5 に関する技術情報

このリリースは 10.4 からの修正リリース(2018年8月9日リリース)です。
10.x からのアップデートではダンプ、リストアは不要です。

また、10.4 より前のバージョンからアップデートを行う場合は 10.4 に関する技術情報を参照してください。

続きを読む

oracle_fdw を使ってみる(前編)

更新日時: 2020年3月16日

PostgreSQLには、標準SQLの拡張である SQL/MED (“Management of External Data”)に沿った外部データアクセスの仕組みが備わっています。外部データの種類に応じた外部データラッパー( Foreign Data Wrapper 、FDW)を適用することで、様々な外部データをPostgreSQL内のテーブルと同様に扱うことができます。

oracle_fdw は外部データラッパーの1つで Oracle Database に対応しています。oracle_fdw を使用することで、Oracle Database のテーブルやビューを PostgreSQL 上のSQLから読み書きできるようになります。

oracle_fdwはバージョン9.1以降のPostgreSQLおよびバージョン10.1以上のOracle Client(および Oracle Instant Client)で利用可能です。Oracle Database のサーバ側バージョンは、使用するOracle Clientが対応していれば大丈夫です。

本記事ではoracle_fdw の導入方法、使用方法を紹介します。続いて公開予定の後編の記事では、実際の使用にあたって気になる「こんなことをしたらどうなる?」「どの程度 PostgreSQL側で、どの程度Oracle側で処理されるの?」「データ型の違いはどうなるの?」といった様々な挙動の詳細に迫ります。

続きを読む

PostgreSQL 11 検証報告

2018524日にbeta1がリリースされた PostgreSQL 11 の主要な新機能について動作検証を行った結果を報告します。

本検証レポートは コマンド実行手順も詳細に記載していますので、PostgreSQL 11 を使って実際に新機能を確認したい方のガイドブックとしても活用できます。

PostgreSQL 11 の主要な強化点は以下の通りです。

続きを読む