PostgreSQLスキルアップノート(自己啓発のための個人サイト)

pg_statsinfo2.4.1インストール・設定編


【一覧に戻る】


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■■■ PostgreSQL スキルアップノート
■■■■
■◆■■ pg_statsinfo2.4.1インストール・設定編
■■■■
■■■■
■■■■ 2013/02/16
■■■■ 使用環境:PostgreSQL9.1.7 (CentOS6.2)
                                                                   (C) 2013 ohdb
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【ダウンロード】

pg_statsinfoホームページ→●[サイト]
pg_statsinfoダウンロード(pgfoundry)→●[ダウンロード]

【マニュアル】

pg_statsinfoマニュアル→●[マニュアル]
リポジトリの構成(v2.4の場合)→●[マニュアル]


【参考記事】


−


■1■ 事前に
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

必須ではないが、SQL文を収集したい場合には「pg_stat_statements」をあらかじめインストールしておく。



■2■ インストール
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


インストール→●[マニュアル]


【□】 cd /home/postgres/download/pg_statsinfo

【□】 su

【□】 rpm -ivh pg_statsinfo-2.4.1-1.pg91.rhel6.x86_64.rpm


準備中...                ########################################### [100%]
   1:pg_statsinfo           ########################################### [100%]





■3■ 初期設定1 postgresql.conf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

インストール→●[マニュアル]

以下のshared_preload_libraries については他のものがある場合(pg_stat_statementsなど)
はカンマで列挙すること。



【□】 cd 

【□】 vi postgresql.conf

既存のパラメータ・必須

shared_preload_libraries = 'pg_statsinfo'       # 事前ロードを行う
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' 
track_counts = on 
track_activities = on  
logging_collector = on          #(設定なくても強制的に上書き)
log_destination 'csvlog'        # (設定なくても強制的に追加、stderr除去)
log_min_messages = 'log'        # debug5 〜 log 
# log_timezone                  # unknown, gmt, utcのみ ※1

※1
デフォルトのpostgresql.confは以下のようなコメントになっている。
#log_timezone = '(defaults to server environment setting)'
とりあえずコメントのままにした。


【□】 既存のパラメータ・推奨

log_checkpoints = on                  # チェックポイントを記録
log_autovacuum_min_duration = 0       # 自動バキュームを記録
track_functions = 'all'               # ストアドプロシージャの呼び出しに関する統計情報を収集する


【□】 専用のパラメータ・推奨

custom_variable_classes = 'pg_statsinfo'        # 下の専用パラメータ指定のために必要

pg_statsinfo.snapshot_interval = 30min          # スナップショットの取得間隔
pg_statsinfo.enable_maintenance = 'on'          # リポジトリDBの自動メンテナンス設定
pg_statsinfo.maintenance_time = '00:02:00'      # リポジトリDBの自動メンテナンス実行時刻設定
pg_statsinfo.repository_keepday = 7 	        # スナップショットの保持期間設定
pg_statsinfo.syslog_min_messages = 'error'      # syslogに出力するログレベルを指定する。
pg_statsinfo.textlog_line_prefix = '%t %p %c-%l %x %q(%u, %d, %r, %a) '  # pg_statsinfoからテキストログの書式。log_line_prefixと同じ形式にする。
pg_statsinfo.syslog_line_prefix = '%t %p %c-%l %x %q(%u, %d, %r, %a) '   # pg_statsinfoからsyslog出力時の書式。

#pg_statsinfo.long_lock_threashold = 30s        # ロック競合情報に記録する対象の条件(閾値)を指定する



■4■ 初期設定2 pg_hba.confの設定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

localのpostgresからのアクセスがパスワードなしでできるように設定する。
identを指定する。


【□】 vi $PGDATA/pg_hba.conf

# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD [for UNIX]
local   all             postgres                                ident



■5■ 確認
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【□】 pg_ctl start

loaded library "pg_statsinfo" などが出力されることを確認。

なお、初回の起動時のみスキーマの作成などのメッセージが表示される。
(installing schema: statsinfo)



■6■ 収集の確認
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

インストール後、指定した間隔以上が経過してから自動収集がされているかをpg_statsinfo
のコマンドにより確認する。

【□】 pg_statsinfo -d postgres -l

SnapshotID  InstanceID  Host       Port             Timestamp  Comment    Execute Time      Size
---------------------------------------------------------------------------------------------------
         1           1  pg91       5432   2013-02-16 17:00:00                 00:00:01   320 KiB
         2           1  pg91       5432   2013-02-16 17:10:00                 00:00:00   104 KiB
         3           1  pg91       5432   2013-02-16 17:20:00                 00:00:00    88 KiB
         4           1  pg91       5432   2013-02-16 17:30:00                 00:00:00    88 KiB
         5           1  pg91       5432   2013-02-16 17:40:00                 00:00:00   104 KiB



指定した10分間隔で取得ができていることを確認。
1回の収集にかかった時間exec_timeは1秒以下であることがわかる。

なお、元情報であるリポジトリの「statsrepo.snapshot」をselectしても同じような情報が得られる。


以上でインストール終了



                                                                                                            
以上 
inserted by FC2 system