pg_statsinfo 1.2
プロジェクトのTopページへ 前のページへ
ビルド
まず、pg_statsinfoのビルドを行います。PostgreSQLのソースか、RPMが必要です。
以下のパッケージ等が既にインストール済みか確認して下さい。
- PostgreSQLのソースを使用する場合
- 使用しているPostgreSQLのmake済みソースがあること
- contribモジュールのdblink、pgcrypto、adminpackがmake && make install済みであること
- PostgreSQL8.4を使用する場合はpg_stat_statementsも make && make install済みであること
- PostgreSQLのRPMを使用する場合
- postgresql-devel-*.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に
関する一部の情報が取得できません。
- shared_preload_libraries = 'pg_stat_statements' # (PostgreSQL8.4の監視では必須です)
- log_destination = 'syslog, stderr' # (checkpoint、autovacuumの情報取得には必須です)
- logging_collector = off # (checkpoint、autovacuumの情報取得には必須です)
- log_checkpoints = on # (checkpointの情報取得には必須です)
- track_functions = all # (PostgreSQL8.4の監視では必須です)
- log_autovacuum_min_duration = 20s # (設定した秒数以上かかったautovacuumのログ情報を取得できます)
ログフィルターのセット
ログフィルターを有効にするため、以下の用にしてPostgreSQLを起動(再起動)します。
$ pg_ctl -D $PGDATA start | pg_get_logfilterinfo --postgres-datadir=$PGDATA &
プロジェクトのTopページへ 前のページへ