【豆知識】PostgreSQLの拡張機能でよく使う周辺OSSの一覧
PostgreSQLインサイド
PostgreSQLを業務システムで利用する際には、要件や業務に応じて機能を拡張・補足するオープンソースソフトウェア(以降、周辺OSSと呼びます)を組み合わせて利用します。周辺OSSを使って拡張されたPostgreSQLの機能は、拡張機能と呼ばれます。周辺OSSは、PostgreSQLのコミュニティーとは別に、独自のコミュニティーによって活発に開発が行われています。PostgreSQLの周辺OSSは数百にも上り、実際に商用利用されている周辺OSSも多くあります。
多くの周辺OSSの中から、仕様の確認や検証を行い、要件に見合った最適な周辺OSSを選定することは容易ではありません。ここでは、富士通のお客様や一般ユーザーのなかでよく利用されている周辺OSSを紹介します。周辺OSSを選定する際の参考にしてください。
PostgreSQLに関連するコミュニティーの紹介
PostgreSQLに関連するコミュニティーは大きく分けて2種類があります。
- 開発コミュニティー
PostgreSQL本体の開発コミュニティーのほかに、周辺OSSごとの開発コミュニティーがあります - PostgreSQLの普及を推進するコミュニティー
世界各国にPostgreSQLのユーザー会があります。日本には、ユーザー会以外にも、ミッションクリティカル性の高いエンタープライズ領域への普及を目的としたPostgreSQLエンタープライズ・コンソーシアムがあります
富士通では、PostgreSQL本体の開発コミュニティーでContributorsの一員として社員が活動しているほか、PostgreSQLエンタープライズ・コンソーシアムの理事を務めるなど、積極的にコミュニティーに参加しています。
拡張機能としてよく利用される周辺OSSの一覧
PostgreSQLと連携し、よく利用される周辺OSSを以下に示します。分類は非機能要件の考え方に基づき、「性能、拡張性、運用、監視、可用性、移行性、セキュリティ」としています。なお、拡張性はPostgreSQL本体機能を拡張したり、他システムと連携したりする機能を意味します。
分類 | OSS名 | 機能概要 |
性能 | pg_hint_plan | クエリにヒント句を指定することで、SQL文やGUCパラメーターを変えずに実行計画を制御します。 |
---|---|---|
pg_dbms_stats | PostgreSQLの統計情報を管理し、間接的に実行計画を制御します。 | |
PgBouncer | PostgreSQLのサーバー・クライアント間で動作するソフトウェアです。コネクションプーリング機能を提供します。 | |
拡張性 | pg_bigm | 日本語に対応しているPostgreSQLの全文検索機能です。2-gram(バイグラム)と呼ばれる方法で全文検索用のインデックスを作成でき、高速に文字列を検索します。 |
PostGIS | PostgreSQL上で地理情報データを取り扱うための機能です。地理空間情報の管理、編集、検索、演算をSQLで実施します。 | |
oracle_fdw | Oracleデータベース用の外部データラッパーです。OracleデータベースのテーブルやビューにPostgreSQLからアクセスできます。 | |
PostgreSQL JDBC driver | PostgreSQLのJDBCドライバーです。JavaからPostgreSQLに接続するためのAPIを提供します。 | |
psqlODBC | PostgreSQL用のODBCドライバーです。Microsoft AccessやMicrosoft ExcelなどからPostgreSQLに接続するためのAPIを提供します。 | |
Npgsql | PostgreSQL用の.NETデータプロバイダーです。Microsoft .NETの環境からPostgreSQLに接続するためのAPIを提供します。 | |
運用 | pg_bulkload | 大量のデータを高速にロードする機能を提供します。 |
pg_rman | バックアップ・リカバリーの簡易化、バックアップの世代管理など、バックアップ運用を補助します。 | |
pgBackRest | バックアップ・リカバリーの管理ツールです。データベースのバックアップ操作に必要な多くの機能を持ち、マルチスレッド形式で高速なバックアップを実施します。 | |
Barman | バックアップ・リカバリーの管理ツールです。PostgreSQLのポイントインタイムリカバリーの処理手番を簡素化します。複数のデータベースクラスタのポイントインタイムリカバリーを一元管理できます。 | |
pg_repack | 肥大化したテーブルやインデックスを再編成することで、不要領域の削除や行の並び替えができます。対象テーブルへのロック時間が短いため、業務運用中の実行に適しています。 | |
pgAdmin4 | データベース・オブジェクトの作成、保守、使用を単純化するグラフィカル・ユーザー・インターフェイス(GUI)を提供します。 | |
監視 | check_postgres | データベースの健全性を監視し、異常な状態を報告します。 |
pgBadger | PostgreSQLのログファイルを解析して、SQL実行状況などの統計レポートを生成します。 | |
pg_statsinfo | PostgreSQLの稼働統計情報を定期的に収集・蓄積して、データベースの運用を監視します。蓄積した情報をテキスト形式のレポートを生成します。 | |
pg_stats_reporter | pg_statsinfoで取得、蓄積した情報を元にHTML形式のグラフィカルなレポートを生成します。 | |
可用性 | Pgpool-II | PostgreSQLのサーバー・クライアント間で動作するソフトウェアです。コネクションプーリング、負荷分散、レプリケーション、自動フェイルオーバーなどの機能を提供します。 |
移行性 | orafce | Oracleデータベースと互換性のある関数やデータ型などの互換機能を提供します。 |
ora2pg | OracleからPostgreSQLへの移行を支援するツールです。Oracleデータベースからオブジェクト定義やデータを読み出し、PostgreSQLで実行可能な形式に変換します。 | |
セキュリティ | pgaudit | PostgreSQLのログ機能を使用して監査ログを取得します。 |
参考
各OSSの仕様の詳細については、OSSのWebページを参照してください。
カテゴリーごとのマッピング
PostgreSQLの機能と周辺OSSを、分類してマッピングしたものを以下に示します。
図1 PostgreSQLの機能と周辺OSSのマッピング
上図を見ると、「拡張性」、「運用」、「監視」の周辺OSSの数が多いことがわかります。これは、PostgreSQLを、各種アプリケーション用のAPIに対応させたり、多種多様な外部データと連携させたり、また、様々なサービス要件や運用形態に適用させたりすることを目的に、PostgreSQL本体に組み込める部品やツールとして周辺OSSが提供されているためです。
各周辺OSSの機能と有用性を理解したうえで、運用形態に応じた最適な周辺OSSを選択してください。
周辺OSSによる拡張機能の使い方を解説
PostgreSQLインサイドでは、以下の周辺OSSの機能や使い方を詳しく解説していますので、ご利用ください。
性能
拡張性
運用
監視
可用性
参考
Fujitsu Enterprise Postgresでは、図1に示した周辺OSSの一部を同梱しています。製品に同梱している周辺OSSについては、お客様が開発コミュニティーから取得する必要はありません。
また、周辺OSSのひとつである「PostGIS」を使ったFujitsu Enterprise Postgresの導入事例を紹介しますので、参考にしてください。
この記事では、現在よく利用されている周辺OSSについて紹介しました。今後も、デジタル技術の進歩に伴って、有用な周辺OSSが登場することも考えられます。業務システムの要件を満たすよう、PostgreSQL本体と周辺OSSを適切に組み合わせてご利用ください。
2023年10月2日更新
オンデマンド(動画)セミナー
-
- PostgreSQLに関連するセミナー動画を公開中。いつでもセミナーをご覧いただけます。
- 【事例解説】運送業務改革をもたらす次世代の運送業界向けDXプラットフォームの構築
- ハイブリッドクラウドに最適なOSSベースのデータベースご紹介
- PostgreSQLに関連するセミナー動画を公開中。いつでもセミナーをご覧いただけます。
PostgreSQLについてより深く知る
本コンテンツに関するお問い合わせ
お電話でのお問い合わせ
-
富士通コンタクトライン(総合窓口)
0120-933-200受付時間:9時~12時および13時~17時30分(土曜日・日曜日・祝日・当社指定の休業日を除く)