PostgreSQL


オープンソースのリレーショナルデータベース管理システム (RDBMS) 。
問い合わせ言語に SQL を用い、標準 SQL の大部分とその他の先進的な機能をサポートする本格的なRDBMS。

PostgreSQL 10.6 に関する技術情報

このリリースは 10.5 からの修正リリース(2018年11月8日リリース)です。

10.x からのアップデートではダンプ、リストアは不要です。
しかしながら、pg_stat_statements拡張を使っている場合は修正を適用するための操作が必要です。
以下の関連する項目を参照してください。
また、10.4 より前のバージョンからアップデートを行う場合は 10.4 に関する技術情報を参照してください。

続きを読む

PostgreSQL 11 に関する技術情報

このページでは PostgreSQL 11(2018/10/18リリース) に関する技術情報をお届けします。
本ドキュメントは PostgreSQL のリリースノートを元に弊社で解説を加えたものです。

バージョン11の主な拡張点

バージョン11での主な拡張箇所は以下の通りです。

  • ハッシュキーによるパーティショニングが可能になりました。
  • パーティションテーブルに対して主キー制約、外部キー制約、インデックスそしてトリガーを作成できるようになりました。
  • どのパーティションにもマッチしないデータ用にデフォルトパーティションの作成が可能になりました。
  • パーティションキー列に対する更新を行った際にそれの影響を受けるレコードも適切なパーティションに移動されるようになりました。
  • パーティションテーブルに対する SELECT のパフォーマンスが向上しました。
  • B-tree インデックスを作成する CREATE INDEX 文で並列処理を行えるようになりました。
  • 並列化が CREATE TABLE … AS、CREATE MATERIALIZED VIEW、そして UNION を使用する一定のクエリで可能となりました。
  • ハッシュ結合とシーケンシャルスキャンの並列処理のパフォーマンスが向上しました。
  • ストアドプロシージャ内でトランザクション制御が可能になりました。
  • JIT コンパイルの使用が可能になりました。
  • SQL:2011 標準で定められているすべてのウィンドウ関数が使用できるようになりました。
  • カバーリングインデックスを CREATE INDEX 時に INCLUDE 句を使用することで作成可能になりました。

続きを読む

oracle_fdw を使ってみる(後編)

oracle_fdw 紹介の後編です。
前編では oracle_fdw を PostgreSQL に導入・外部サーバ定義・ユーザマッピング・外部テーブル定義を順に行い Oracleデータベース上のテーブルに 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 の機能を簡易なコマンドで扱うことができます。また、バックアップの世代管理ができることも魅力の一つです。

続きを読む