pg_statsinfo 1.2

プロジェクトのTopページへ    前のページへ

ビルド

まず、pg_statsinfoのビルドを行います。PostgreSQLのソースか、RPMが必要です。 以下のパッケージ等が既にインストール済みか確認して下さい。

PostgreSQLのソースを使ってビルドを行う

pg_statsinfo-*.tar.gz を make済みのPostgreSQLのソースディレクトリ($PGSRCとします)のcontrib配下へ展開します。
$ tar zxvf pg_statsinfo-*.tar.gz -C $PGSRC/contrib
次に、pg_statsinfo-*配下のtarget_db、stats_infoディレクトリでmake && make installを 実施します。
$ cd $PGSRC/contrib/pg_statsinfo-*/target_db
$ make && make install
$ cd $PGSRC/contrib/pg_statsinfo-*/stats_info
$ make && make install

PostgreSQLのRPMを使ってビルドを行う

適当な箇所で pg_statsinfo-*.tar.gz を展開します。
$ tar zxvf pg_statsinfp-*.tar.gz -C /some/where/
次に、移動したpg_statsinfo-*配下のtarget_db、stats_infoディレクトリでmake && make installを USE_PGXS=1を付与して実施します。
$ cd /some/where/pg_statsinfo-x.x.x/target_db
$ make USER_PGXS=1 && make USER_PGXS=1 install
$ cd /some/where/pg_statsinfo-x.x.x/stats_info
$ make USER_PGXS=1 && make USER_PGXS=1 install

パスの設定

target_db配下のpg_get_logfilterinfoと、reporter配下のpg_make_report.plへの$PATHを通します。 なお、reporter配下のpg_make_report.plとpg_report_config.pmは同じディレクトリに置いて下さい。 以下は、$LOGFILTER ディレクトリにpg_get_logfilterinfo、$PGREPORT ディレクトリにreporter配下のファイルを 置いた場合の例です。
## PostgreSQLのソースを使った場合
$ cp $PGSRC/contrib/pg_statsinfo-*/target_db/pg_get_logfilterinfo $LOGFILTER
$ cp $PGSRC/contrib/pg_statsinfo-*/reporter/* $PGREPORT
$ export PATH=$LOGFILTER:$PGREPORT:$PATH
## PostgreSQLのRPMを使った場合
$ cp /some/where/pg_statsinfo-*/target_db/pg_get_logfilterinfo $LOGFILTER
$ cp /some/where/pg_statsinfo-*/reporter/* $PGREPORT
$ export PATH=$LOGFILTER:$PGREPORT:$PATH

スナップショット管理DBの作成とセットアップ

スナップショット情報を蓄積するためのDBを作成します。以下では、スナップショット管理DB名を "stats"としています。
$ createdb stats
次に、スナップショット管理DBにcontribモジュールのdblink、pgcrypto、stats_infoを登録します。 インストール先のディレクトリを$PGHOMEとします。RPMを使ってビルドした場合は、$PGHOMEは/usrとなります。
$ psql -f $PGHOME/share/contrib/dblink.sql -d stats
$ psql -f $PGHOME/share/contrib/pgcrypto.sql -d stats
$ psql -f $PGHOME/share/contrib/stats_info.sql -d stats

監視対象DBのセットアップ

監視対象のDBにcontribモジュールのadminpack、target_dbを登録します。バージョン1.1以上では、 pg_stat_statements も登録します。以下では、監視対象DB名を"target"、インストール先のディレクトリを$PGHOMEとします。
$ psql -f $PGHOME/share/contrib/adminpack.sql -d target
$ psql -f $PGHOME/share/contrib/target_db.sql -d target
(以下はPostgreSQL8.4以降を使用する場合に必要)
$ psql -f $PGHOME/share/contrib/pg_stat_statements.sql -d target

postgresql.confの設定

postgresql.confの以下の設定値の変更をします。なお、これらの変更を実施しない場合、checkpoint、autovacuumに 関する一部の情報が取得できません。

ログフィルターのセット

ログフィルターを有効にするため、以下の用にしてPostgreSQLを起動(再起動)します。
$ pg_ctl -D $PGDATA start | pg_get_logfilterinfo --postgres-datadir=$PGDATA &

プロジェクトのTopページへ    前のページへ