PostgreSQLエンタープライズ・コンソーシアム 技術部会 WG#3

2018年度WG3活動報告書
Windows環境調査編(リソース監視、代替ツール)

PostgreSQL Enterprise Consortium

目次
目次
1. ライセンス2. はじめに2.1. PostgreSQLエンタープライズコンソーシアムとWG3について
2.2. 本資料の概要と目的
2.3. 本資料の構成
2.4. 想定読者
Windows環境でのリソース監視
1. 調査の背景および方針
2. Prometheusの利用調査
2.1. Prometheusの導入方法
2.1.1. 入手先
2.1.2. 検証環境
2.1.3. 導入方法
3. Windows環境のOS層のリソース監視3.1. wmi_exporter
3.1.1. wmi_exporterの概要
3.1.2. wmi_exporterの利用方法
3.1.3. 収集データの確認
3.1.3.1. 瞬間値の参照
3.1.3.2. 積算値の参照
3.2. typeperf
3.2.1. typeperfの概要
3.2.2. 利用方法
4. Windows環境でのPostgreSQLのリソース監視4.1. 調査に利用した環境
4.1.1. Prometheusの入手先
4.1.2. postgres_exporterの入手先
4.1.3. 検証環境
4.2. 環境構築
4.2.1. Prometheus、postgres_exporterのアーカイブの展開
4.2.2. Prometheusの環境構築
4.2.3. 監視対象のPostgreSQLの環境構築
4.2.4. postgres_exporterの環境構築
4.2.5. Prometheus、postgres_exporterの起動
4.3. 動作確認
5. Windows環境でのリソース監視のまとめ
5.1. pg_statsinfoとの機能比較
3. Windows環境でのPostgreSQLのバックアップ
3.1. 調査の背景および方針
3.2. 調査に利用した環境
3.2.1. 調査方針
3.2.2. pg_rmanの入手先
3.3. pg_rmanとの機能比較
3.4. まとめ
4. 著者

Page 2 of 16

2
4
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
8
8
8
9
9
9
11
11
11
11
11
11
11
11
12
12
12
13
13
14
15
15
15
15
15
15
15
16

PostgreSQL Enterprise Consortium

Page 3 of 16

PostgreSQL Enterprise Consortium

1. ライセンス
本作品はCC-B Yライセンスによって許諾されています。 ライセンスの内容を知りたい方は こちら でご確認ください。 文書の内容、表記に関する誤り、ご要望、感想等につきましては、PG ECo n s のサイト を通じてお寄せいただきますようお願いいたします。

Eclip se は、Eclip se Fo u n datio n In c の米国、およびその他の国における商標もしくは登録商標です。
IB M およびDB 2 は、世界の多くの国で登録された In tern atio n al B u sin ess Mach in es Co rp o ratio n の商標です。
In tel 、インテルおよびXeo n は、米国およびその他の国における In tel Co rp o ratio n の商標です。
Java は、O racle Co rp o ratio n 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。
Lin u x は、Lin u s To rvalds 氏の日本およびその他の国における登録商標または商標です。
Red Hat およびSh ado w man lo go は、米国およびその他の国におけるRed Hat,In c. の商標または登録商標です。
Micro so ft 、W in do w s Server 、SQL Server 、米国 Micro so ft Co rp o ratio n の米国及びその他の国における登録商標または商標です。
MySQL は、O racle Co rp o ratio n 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。
O racle は、O racle Co rp o ratio n 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。
Po stgreSQL は、Po stgreSQL Co mmu n ity Asso ciatio n o f Can ada のカナダにおける登録商標およびその他の国における商標です。
W in do w s は米国 Micro so ft Co rp o ratio n の米国およびその他の国における登録商標です。
TPC, TPC B en ch mark, TPC-B , TPC-C, TPC-E, tp mC, TPC-H, TPC-DS, Qp h H は米国Tran sactio n Pro cessin g Perfo rman ce Co u n cil の商標です。
その他、本資料に記載されている社名及び商品名はそれぞれ各社が 商標または登録商標として使用している場合があります 。

Page 4 of 16

PostgreSQL Enterprise Consortium

2. はじめに2.1. PostgreSQLエンタープライズコンソーシアムとWG3について
Po stgreSQL エンタープライズコンソーシアム(略称 PG ECo n s)は、Po stgreSQL 本体および各種ツールの情報収集と提供、整備などの活動を通じて、ミッションクリティカル性の高いエンタープライズ領域へのPo stgreSQL の普及を推進することを目的として設立された団体です。
PG ECo n s 技術部会ではPo stgreSQL の普及に資する課題を活動テーマとし、3 つのワーキンググループで具体的な活動を行っています。
W G 1 （新技術検証ワーキンググループ）
W G 2 （移行ワーキンググループ）
W G 3 （課題検討ワーキンググループ）
これら 3 つのワーキンググループのうち、W G 1 、W G 3 については 2015 年度まではそれぞれ、「性能ワーキンググループ」、「設計運用ワーキンググループ」という名称で活動してきました。2016 年度は、従来の活動領域を広げる意図のもとでそれらを再定義し、上記のような名称に改めました。
これに伴い、W G 3 ではPo stgreSQL の設計運用を中心としたさまざまな課題の解決のための調査検証を行い、Po stgreSQL が広く活用される事を推進していくこととしました。

2.2. 本資料の概要と目的2017 年度、W in do w s 上でのPo stgreSQL に関して実際に W in do w s 環境での検証と机上調査を通して情報を整備しました。 その中で、特に周辺ツールについては
W in do w s に対応していないツールが多いことが明らかになりました。
これを受け、2018 年度はW in do w s におけるPo stgreSQL について、 特に運用面(リソース監視、バックアップ)にフォーカスして調査・検証し、結果をまとめました。
本資料では、以下の内容をご紹介しています。
リソース監視： W in do w s 環境で使用できるリソース監視ツールの調査および実機検証にバックアップ： Po stgreSQL 本体の機能での代替可否の調査、整理
これにより、W in do w s 上でのPo stgreSQL の運用設計の際の参考として役立てていただくことを狙いとしています。

2.3. 本資料の構成
はじめに

W idn o w s 環境でのリソース監視
W idn o w s 環境のO S 層のリソース監視
W idn o w s 環境でのPo stgreSQL のリソース監視
W in do w s 環境でのPo stgreSQL のバックアップ
著者

2.4. 想定読者
本資料の読者は以下のような知識を有していることを想定しています。

DB MS を操作してデータベースの構築、保守、運用を行う DB A の知識
Po stgreSQL を利用する上での基礎的な知識

Page 5 of 16

PostgreSQL Enterprise Consortium

Windows環境でのリソース監視
本章では、W in do w s 環境でリソースを監視する方法について調査した結果を記載します。

1. 調査の背景および方針
2017 年度のPG ECo n s の成果物「 W in do w s 環境調査編」では、調査した外部ツールにはW in do w s に対応したモニタリングツールが存在しませんでした。
本年度は運用時に必須になるリソース監視において W in do w s 対応している外部ツールの調査を進めました。
O S 層とPo stgreSQL のリソース監視をするために Pro meth eu s という O SS を選定しました。Pro meth eu s には数少ないW in do w s のO S 層を監視できるエージェント(w mi_exp o rter)が存在したのが理由です。
本章では、以下の調査結果を記載します。

W in do w s 環境でのリソース監視ができる外部ツールの調査
エージェント(exp o rter)からの情報を収集するリソース監視基盤

Pro meth eu s
O S 層のリソース監視Pro meth eu s + w mi_exp o rter
typ ep erf
Po stgreSQL 層のリソース監視Pro meth eu s + p o stgres_exp o rter

2. Prometheusの利用調査
W in do w s のO S 層のリソース監視をするO SS に Pro meth eu s があります。
Pro meth eu s は CFCN (Clo u d Native Co mp u tin g Fo u n datio n )でG radu ated ステータスになっている監視ソフトウェアです。
G radu ated ステータスとはCNCF の技術統括委員会が認めた成熟したコミュニティであることを示すステータスです。
In cep tio n , In cu b atin g, G radu ated と続きます。h ttp s://w w w .cn cf.io /p ro jects/
Pro meth eu s 特徴は以下になります。
G o 言語で実装されているのでどのO S でも動くp u ll 型のアーキテクチャを採用 * Pro meth eu s が能動的に登録サーバのリソース情報を取得する
各サーバでexp o rter と言われるagen t を起動して、Pro meth eu s の設定をすると監視対象になる
exp o rter は特定のフォーマットを返すh ttp ://examp le.co m:[p o rt]/metrics API を実装すれば自作できる
exp o rter はコミュニティや個人から大量に出ている

2.1. Prometheusの 導入方法
2.1.1. 入手先
p ro meth eu s はG o 言語で書かれたミドルウェアのため、バイナリを入手して起動するだけで簡単に動きます。
バイナリは 公式ページ内の「 DO W NLO AD 」 か G itHu b ページの「 releases 」 から取得できます。
2.1.2. 検証環境
検証には以下の環境を用意しました。
項目

バージョ ンOS

W in do w s Server 2016 DataCen ter

CPU

In tel Xeo n CPU E5-2684 v4 @ 2.30G Hz

Memo ry

16.0G B

Pro meth eu s

2.7.1

2.1.3. 導入方法
展開したアーカイブの中の.exe ファイルを起動するだけです。
同梱されているp ro meth eu s.yaml のファイルで設定します。
今回は後述するw mi_exp o rter とp o stgres_exp o rter を配置するので、そのtarget の記載例を以下に示します。

Page 6 of 16

PostgreSQL Enterprise Consortium

global:scrape_interval: 5s
scrape_timeout: 5s
scrape_configs:- job_name: nodestatic_configs:- targets:# wmi_exporter- localhost:9182# postgres_exporter- localhost:9187
上記設定が完了したら p ro meth eu s.exe を実行します。
Pro meth eu s には他にも閾値によるアラートや簡易なU I(9090 ポート)があります。
また G rafan a と連携することで高級なU I による分析もできます。

3. Windows環境のOS層のリソース監視
本章では、W in do w s 環境のO S 層のリソースを監視する方法の調査結果を記載します。
O S のリソース監視の方法として w mi_exp o rter と typ ep erf の2 つを調査しました。

3.1. wmi_exporter
3.1.1. wmi_exporterの概要
w mi_exp o rter は上記で示した Pro meth eu s のexp o rter(agen t)の一種です。
exp o rter をW in do w s サーバ上で常駐させることでPro meth eu s がリソース情報を収集します。
W MI はW in do w s Man agemen t In stru men tatio n の略称でありW in do w s システムの構成要素の情報収集や各種通知をするインターフェイスです。
w mi_exp o rter はそのインターフェイスを利用してリソースの情報を収集します。
3.1.2. wmi_exporterの利用方法
今回利用した w mi_exp o rter のバージョンはv0.6.0 です。
w mi_exp o rter は G itHu b からバイナリが配布 されているため簡単に起動できます。
取得したバイナリをcmd.exe から実行します。

C:\Users\Administrator>cd "C:\Program Files\exporter"
C:\Program Files\exporter>dir
Volume in drive C has no label.
Volume Serial Number is 7C6C-45DB
Directory of C:\Program Files\exporter
02/27/2019
02/27/2019
02/27/2019
02/27/2019

05:15 AM
<DIR>.
05:15 AM
<DIR>..
05:14 AM
13,268,992 postgres_exporter.exe
05:14 AM
12,689,920 wmi_exporter-0.6.0-amd64.exe
2 File(s)25,958,912 bytes
2 Dir(s) 10,447,429,632 bytes free

C:\Program Files\exporter>.\wmi_exporter-0.6.0-amd64.exe --collectors.enabled"cpu,cs,logical_disk,net,os,tcp,system"
実行時のオプションの–co llecto rs.en ab led によって取得するリソースを指定できます。
取得できるリソースの一覧は README.md のCo llecto rs を参照してください 。
起動すると9182 ポートを受け付けるのでAPI を発行するとPro meth eu s が収集する値がわかります。

Page 7 of 16

PostgreSQL Enterprise Consortium$ curl example.com:9182/metrics -i
HTTP/1.1 200 OK
Content-Length: 20465
Content-Type: text/plain; version=0.0.4; charset=utf-8
Date: Fri, 01 Mar 2019 08:48:49 GMT(略)# HELP wmi_cpu_time_total Time that processor spent in different modes (idle, user, system, ...)# TYPE wmi_cpu_time_total gauge
wmi_cpu_time_total{core="0",mode="dpc"} 4.90625
wmi_cpu_time_total{core="0",mode="idle"} 24476.2490999
wmi_cpu_time_total{core="0",mode="interrupt"} 10.15625
wmi_cpu_time_total{core="0",mode="privileged"} 140.5625
wmi_cpu_time_total{core="0",mode="user"} 187.28125
wmi_cpu_time_total{core="1",mode="dpc"} 0.859375
wmi_cpu_time_total{core="1",mode="idle"} 24620.4848363
wmi_cpu_time_total{core="1",mode="interrupt"} 1.640625
wmi_cpu_time_total{core="1",mode="privileged"} 126.21875
wmi_cpu_time_total{core="1",mode="user"} 180.8125
wmi_cpu_time_total{core="2",mode="dpc"} 0.765625
wmi_cpu_time_total{core="2",mode="idle"} 24621.9940862
wmi_cpu_time_total{core="2",mode="interrupt"} 1.578125
wmi_cpu_time_total{core="2",mode="privileged"} 121.90625
wmi_cpu_time_total{core="2",mode="user"} 173
wmi_cpu_time_total{core="3",mode="dpc"} 0.8125
wmi_cpu_time_total{core="3",mode="idle"} 24389.811079699997
wmi_cpu_time_total{core="3",mode="interrupt"} 1.921875
wmi_cpu_time_total{core="3",mode="privileged"} 256.71875
wmi_cpu_time_total{core="3",mode="user"} 282.03125(略)上記のように exp o rter が公開しているh ttp ://examp le.co m:9182/metrics のAPI エンドポイントをPro meth eu s が発行して値を収集しています。
ここではcp u の情報を一例に出しましたが、他にもmemo ryやdisk などの情報を取得しています。

3.1.3. 収集データ の確認収集したデータはPro meth eu s のG U I を使って時系列データとして確認できます。
G U I にアクセスするにはPro meth eu s を起動しているノードの9090 ポートにアクセスします。
データを参照するときに Pro mQL を利用する場面もありますが、自動でグラフィカルなデータを確認できる強力さがあります。(Pro mQL は「積算値の参照」の章で利用例を示します。)
以下に収集したデータの参照例を示します。
以下は一例ですが、w mi_ が接頭辞に付いているものはw mi_exp o rter が収集したデータになります。

3.1.3.1. 瞬 間 値 の参 照

w mi_o s_p h ysical_memo ry_free_b ytes(メモリの空き)のような瞬間値はそのまま確認できます。
クエリ実行部分に w mi_o s_p h ysical_memo ry_free_b ytes を入力して Execu te ボタンを押下して G rap h タブを開きます。
以下のようなグラフを参照できます。

3.1.3.2. 積 算 値 の参 照

w mi_cp u _time_to tal(CPU 使用率)やw mi_lo gical_disk_w rite_b ytes_to tal(ディスク書き込み量)などの積算値はPro mQL を使って時系列データを参照できます。
クエリ実行部に以下のようなPro mQL を記載して Execu te ボタンを押下します。

Page 8 of 16

PostgreSQL Enterprise Consortium

avg(
irate(
wmi_cpu_time_total{
instance="localhost:9182",
mode!="idle"}[10s])) without(core)
このクエリで以下のようなCPU 使用率のグラフを参照できます。

3.2. typeperf
3.2.1. typeperfの概要
typ ep erf はW in do w s O S が標準で提供しているCU I ツールです。
コマンドの説明は Micro so ft のHP に記載してあります。
Lin u x のvmstat やsar のコマンド相当のリソースを取得できます。
取得できるリソース項目(co u n ter)の一覧は typ ep erf -qx で取得できます。取得結果は以下になります。

typeperf_counter_list.txt
3.2.2. 利用方法
typ ep erf の-h を見ると以下が表示されます。

Page 9 of 16

PostgreSQL Enterprise Consortium

C:\Users\Administrator>typeperf -h
Microsoft ® TypePerf.exe (10.0.14393.0)
Typeperf writes performance data to the command window or to a log file. To stop Typeperf, press
CTRL+C.
Usage:
typeperf { <counter [counter ...]> | -cf <filename> | -q [object] | -qx [object] } [options]Parameters:<counter [counter ...]>
Options:-?
-f <CSV|TSV|BIN|SQL>-cf <filename>-si <[[hh:]mm:]ss>-o <filename>-q [object]
object, include the-qx [object]
object, include the-sc <samples>-config <filename>-s <computer_name>-y

Performance counters to monitor.

Displays context sensitive help.
Output file format. Default is CSV.
File containing performance counters to monitor, one per line.
Time between samples. Default is 1 second.
Path of output file or SQL database. Default is STDOUT.
List installed counters (no instances). To list counters for one
object name, such as Processor.
List installed counters with instances. To list counters for one
object name, such as Processor.
Number of samples to collect. Default is to sample until CTRL+C.
Settings file containing command options.
Server to monitor if no server is specified in the counter path.
Answer yes to all questions without prompting.

Note:
Counter is the full name of a performance counter in"\\<Computer>\<Object>(<Instance>)\<Counter>" format,
such as "\\Server1\Processor(0)\% User Time".
Examples:
typeperf "\Processor(_Total)\% Processor Time"typeperf -cf counters.txt -si 5 -sc 50 -f TSV -o domain2.tsv
typeperf -qx PhysicalDisk -o counters.txt
typ ep erf はコマンドの引数にリソース取得項目(カウンタ )を指定できます。
カウンタはtyp ep erf -qx で取得できます。
カウンタは大量にあるので、今回は以下の様なリソース取得ファイルを用意しました。

typeperf_list.txt
PS C:\Users\Administrator> typeperf.exe -qx > .\typeperf_list.txt
PS C:\Users\Administrator> Get-Content list.txt\Hyper-V VM Virtual Device Pipe IO(*)\Receive Message Quota Exceeded\Hyper-V VM Virtual Device Pipe IO(*)\Receive QoS - Total Message Delay Time (100ns)\Hyper-V VM Virtual Device Pipe IO(*)\Receive QoS - Exempt Messages/sec\Hyper-V VM Virtual Device Pipe IO(*)\Receive QoS - Non-Conformant Messages/sec\Hyper-V VM Virtual Device Pipe IO(*)\Receive QoS - Conformant Messages/sec\Hyper-V Virtual Machine Health Summary\Health Critical\Hyper-V Virtual Machine Health Summary\Health Ok\Network Virtualization(Provider Routing Domain)\Unicast Replicated Packets out\Network Virtualization(Provider Routing Domain)\Inbound Packets dropped\Network Virtualization(Provider Routing Domain)\Outbound Packets dropped(略)
typ ep erf のカウンタを整理したら、typ ep erf -cf [ファイルパス]のコマンドでリソースを取得できます。
取得間隔や回数やフォーマットもオプションで調整ができます。
出力オプション

-cf ファイルを指定することで取得するカウンタを指定する-si 取得間隔[sec]Page 10 of 16

PostgreSQL Enterprise Consortium-sc 取得回数[回]-f 出力ファイルフォーマット ex)csv, tsv, b in , SQL-o 出力ファイル
実際にコマンドを発行すると以下の様な結果を取得できます。

# 上記リソース項目を5秒間隔で3回取得して、typep.csvに csv形式で取得します。
PS C:\Users\Administrator\Documents> typeperf.exe -cf typeperf_list.txt -si 5 -sc 3 -o typep.csv
The command completed successfully.
取得した結果は以下の様に出力されます。

typep.csv

4. Windows環境でのPostgreSQLのリソース監視
本章では、W in do w s 環境でのPo stgreSQL 層のリソース監視について調査した結果を記載します。

Po stgreSQL をモニタリングするexp o rter(p o stgres_exp o rter)とPro meth eu s を組み合わせることによるモニタリングの試行
p g_statsin fo でモニタリング可能なリソースとの機能比較

4.1. 調査に利用した環境
4.1.1. Prometheus の入手先
Pro meth eu s のソースや利用方法などの情報は、公式ページ 配下より入手できます。 また、W in do w s 環境の実行バイナリは、公式ページ内の「 DO W NLO AD 」 より
tar.gz 形式で入手できます。
4.1.2. postgres_exporterの入手先
p o stgres_exp o rter のソースや利用方法などの情報は、プロジェクトのgith u b 配下より入手できます。 また、W in do w s 環境の実行バイナリは、Release よりzip 形式、
tar.gz 形式で入手できます。
4.1.3. 検証環境
以下の環境を利用して、p o stgres_exp o rter の動作検証を実施しました。

O S:W in do w s 8.1 Pro 64b it
CPU :Xeo n E5-2697 v2 @ 2.70G Hz (2 プロセッサ)
Memo ry:4G B
ソフトウェアのバージョンは、以下の通りです。

Pro meth eu s 2.7.1
p o stgres_exp o rter 0.4.7
Po stgreSQL 11.0
また、検証のためPro meth eu s とPo stgreSQL の環境は同一サーバとしました。

4.2. 環境構築
4.2.1. Prometheus 、 postgres_exporterのアーカ イ ブの展開
ダウンロードしてきたアーカイブを展開します。

4.2.2. Prometheus の環境構築
p o stgres_exp o rter からのデータを収集するために、p ro meth eu s.yml に以下を追記します。

- job_name: 'PostgreSQL'
static_configs:- targets: ['localhost:9187']# postgres_exporterが使用するデフォルトのポート番号が9187のためPage 11 of 16

PostgreSQL Enterprise Consortium

4.2.3. 監視対象の PostgreSQL の環境構築
p g_stat_activity、p g_stat_rep licatio n の情報を一般ユーザから取得するために、ユーザの作成と権限付与、ビューの作成などを実施します。

CREATE USER postgres_exporter PASSWORD 'password';
ALTER USER postgres_exporter SET SEARCH_PATH TO postgres_exporter,pg_catalog;-- If deploying as non-superuser (for example in AWS RDS), uncomment the GRANT-- line below and replace <MASTER_USER> with your root user.
-- GRANT postgres_exporter TO <MASTER_USER>
CREATE SCHEMA postgres_exporter AUTHORIZATION postgres_exporter;
CREATE VIEW postgres_exporter.pg_stat_activity
AS
SELECT * from pg_catalog.pg_stat_activity;
GRANT SELECT ON postgres_exporter.pg_stat_activity TO postgres_exporter;
CREATE VIEW postgres_exporter.pg_stat_replication AS
SELECT * from pg_catalog.pg_stat_replication;
GRANT SELECT ON postgres_exporter.pg_stat_replication TO postgres_exporter;

4.2.4. postgres_exporterの環境構築
以下の環境変数を設定します。

$ set DATA_SOURCE_NAME=postgresql://postgres_exporter:password@localhost:5432/postgres?
sslmode=disable

また、別途gith u b より入手した qu eries.yaml を配置します。

4.2.5. Prometheus 、 postgres_exporterの起動
1. Pro meth eu s を起動します。
2. p o stgres_exp o rter を起動します。

> postgres_exporter.exe --extend.query-path="[queries.yamlの配置先パス]"

W in do w s のセキュリティ警告画面が出ることがありますが、ここではプライベートネットワーク内での通信に閉じるため、 上のチェックボックスにチェックを入れて「アクセスを許可する」をクリックします。

Page 12 of 16

PostgreSQL Enterprise Consortium

4.3. 動作確認
Pro meth eu s 、Po stgreSQL をインストールしたサーバの9090 番ポートに h ttp でアクセスします。

http://localhost:9090

以下の画面が表示されるので、G rap h → 「 -in sert metrics at a Cu rso r-」のあるプルダウンをクリックし、Po stgreSQL に関するメトリクスが表示されることを確認します。

以下の画面は、p gb en ch をスケールファクタ 100 で1 時間程度実施した際の例です。

5. Windows環境でのリソース監視のまとめ
W in do w s 環境でのリソース取得をPro meth eu s とW in do w s 標準機能を使って調査しました。
それぞれのメリットとデメリットを以下にまとめました。

Page 13 of 16

PostgreSQL Enterprise Consortium
実現ツール

メ リット

デメ リットPro meth eu s・ agn et を配置するだけで取得リソースを増やせる
・ Po stgreSQL 層の情報もある程度取得できる
・ G U I(Pro meth eu s, G rafan a)を利用することで簡単にグラフ化したリソースをリアルタイムで確認できる
・ Pro meth eu s の他の機能(アラートなど)を利用できる・さらに詳細を取得したい場合はexp o rter を自作できる・運用するミドルウェアが増える

typ ep erf

・ W in do w s の標準機能のため、新規のミドルウェアを ・ G U I がないのでリアルタイムで値の確認がしづらい導入する必要がない
・ w mi_exp o rter に比べると詳細な情報が取得できる

5.1. pg_statsinfoとの 機能比較
Po stgreSQL のリソース監視にはLin u x 版のPo stgreSQL で多く利用されます。
p g_statsin fo が収集できるリソース項目は 2015 年のW G 3 の調査したもの があるので、今回の調査結果と比較しました。
比較結果は以下の通りです。
pg_statsinfoと今年度の調査結果の機能比較(pdf形式)
上記のファイルを参照するとp g_statsin fo ほど詳細なデータを取得はできません。
より詳細なPo stgreSQL の監視をするには自身でツールを作る必要性があります。
一方で既存の物を組み合わせるだけでも一般的なリソース監視の枠組みは実現できることがわかりました。

Page 14 of 16

PostgreSQL Enterprise Consortium

3. Windows環境での PostgreSQLのバックアップ
3.1. 調査の背景および方針
2017 年度のPG ECo n s の成果物「 W in do w s 環境調査編」では、 周辺ツールのうち、W in do w s に対応しているPo stgreSQL のバックアップツールがないことを記載しました。
本章では、以下の調査結果を記載します。

p g_rman とPo stgreSQL のコマンドラインとの機能比較

3.2. 調査に利用した環境
3.2.1. 調査方針
2017 年度のPG ECo n s のW G 3 で調査したバックアップツール3 つのうち、G o o gle での検索結果、 G o o gle トレンドの結果を勘案し、利用頻度が高いと考えられる
p g_rman を選定しました。
また、調査方法としてはソースを見ながら内部ロジックを確認する机上調査を実施しました。

3.2.2. pg_rmanの 入手先
p g_man のソースや利用方法などの情報は、p g_rman のgith u b より入手できます。

3.3. pg_rmanとの機能比較
p g_rman でのコマンド例を基準にした、W in do w s での代替手段の調査結果は以下の通りです。

pg_rmanの機能とWindows版PostgreSQLでの代替手段の調査結果(pdf形式)

3.4. まとめ
本検証では、p g_rman とPo stgreSQL のコマンドラインとの機能比較を実施しました。
基本機能となる全体のバックアップとリストアについては、Po stgreSQL のコマンドラインで代用可能です。
一方、以下の機能は独自のロジックや運用でカバーする必要があります。
バックアップカタログの作成や参照
増分バックアップ
バックアップファイルの削除
バックアップの検証

Page 15 of 16

PostgreSQL Enterprise Consortium

4. 著者（企業・団体名順）
版
第1.0 版(2018 年度W G 3)

所属企業・ 団体名

部署名

氏名

NTTテクノクロス株式会社

Io Tイノベーション事業部

勝俣 智成

NTTテクノクロス株式会社

Io Tイノベーション事業部

山本 育

富士通株式会社

ミドルウェア事業本部

山本 貢嗣

Page 16 of 16