PostgreSQL/PostgreSQLでSQLステートメントをログファイルに出力する方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* PostgreSQLでSQLステートメントをログファイルに出力する方...
デバッグなどでアプリケーションソースコードを修正せずに操...
確認したいと思った場合、以下に記述したようにpostgresql.co...
このような使い方の場面はデバッグなどで使用すると思います。~
以下に設定方法を記します。
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 本資料で使用した環境 [#za69c29d]
- OS~
CentOS6(X86_64)
#br
- PostgreSQL(CentOSのRPMパッケージを使用)~
PostgreSQL 8.4.13 on x86_64-redhat-linux-gnu, compiled by...
* 関連資料 [#b216c906]
[[linux.just4fun.biz>http://linux.just4fun.biz/]]の記事
-[[psコマンドでプロセスの引数を確認する方法>http://linux....
-[[PostgreSQLが出力するログの言語を英語にする方法>Postgre...
* postgresql.confの修正しSQLステートメントをログファイル...
以下の手順でログにSQLステートメントを出力するようにPostgr...
+ postgresql.confのありかを調べる~
postgresql.confファイルを修正するのでpostgresql.confファ...
もし、postgresql.confファイルのありかがわからない時や忘れ...
psコマンドとgrepで検索した結果は以下の通りです。
使用したコマンド
ps auxw | grep postgres
上記では、postgresで検索しました。postmasterでした方がい...
また、postgresユーザ以外または、postmasterコマンド以外でP...
#br
-- 実行例~
以下の実行結果を見ると -D /var/lib/pgsql/data と表示され...
postgresql.confは/var/lib/pgsql/dataにあることが推測でき...
[sakura@centos6 ~]$ ps auxw | grep postgres | grep -v grep
postgres 2083 0.0 0.6 214100 6384 ? S 00:1...
postgres 2112 0.0 0.1 177112 1408 ? Ss 00:1...
postgres 2114 0.0 0.1 214100 1840 ? Ss 00:1...
<snip>
#br
+ ログ出力のためにlogging_collectorの設定を行う
postgresql.confを開き、logging_collectorをonにします。
# This is used when logging to stderr:
logging_collector = on # Enable capturi...
# into log files...
# csvlogs.
# (change requir...
#br
ちなみにログ出力されるディレクトリ名は、postgresql.conf内...
# These are only used if logging_collector is on:
log_directory = 'pg_log' # directory wher...
# can be absolut...
#br
+ SQLステートメントをログファイルに出力するためにlog_stat...
postgresql.conf内になるlog_statementの設定を以下のいづれ...
|none|出力しない|
|ddl|CREATE、ALTER、およびDROPといった、データ定義コマン...
|mod|ddlとINSERT、UPDATE、DELETE、TRUNCATE、およびCOPY FR...
|all|すべてのSQLがログに出力されます。|
-- 参考資料 : [[PostgreSQL 8.4.4文書 18.7. エラー報告とロ...
#br
本資料ではallを指定しました。
log_statement = 'all' # none, ddl, mod, ...
#br
ちなみにpostgresql.confの先頭にある#はコメントを意味しま...
修正しても#を削除しないとデフォルト値が使用されるので注意...
#br
+ PostgreSQLを再起動します。~
本資料ではCentOS6のRPMパッケージによりPostgreSQLをインス...
pg_ctl restart オプションでも再起動できますので、みなさん...
[root@centos6 ~]# service postgresql restart
postgresql サービスを停止中: ...
postgresql サービスを開始中: ...
+ 設定した値が変更されているかpsqlコマンドで確認してみま...
-bash-4.1$ psql -c 'show log_statement'
log_statement
---------------
all
(1 行)
* 実際に端末からSQLを発行した時のログ出力 [#sbc45c63]
以下に端末からPostgreSQLを操作しtailコマンドでPostgreSQL...
- 端末からPostgreSQLを操作
-bash-4.1$ echo $USER
postgres
-bash-4.1$ createdb sakura
-bash-4.1$ psql sakura
psql (8.4.13)
"help" でヘルプを表示します.
sakura=# create table t1 (c1 int, c2 int);
CREATE TABLE
sakura=# insert into t1 values(1,10);
INSERT 0 1
sakura=# select * from t1;
c1 | c2
----+----
1 | 10
(1 行)
sakura=# \q
- PostgreSQLのログをtailコマンドで確認
-bash-4.1$ tail -f $PGDATA/pg_log/postgresql-Mon.log
<snip>
LOG: 文: CREATE DATABASE sakura;
LOG: 文: create table t1 (c1 int, c2 int);
LOG: 文: insert into t1 values(1,10);
LOG: 文: select * from t1;
以上、PostgreSQLでSQLステートメントをログファイルに出力す...
#htmlinsertpcsp(db-btm.html,db-sp.html)
終了行:
#navi(../)
* PostgreSQLでSQLステートメントをログファイルに出力する方...
デバッグなどでアプリケーションソースコードを修正せずに操...
確認したいと思った場合、以下に記述したようにpostgresql.co...
このような使い方の場面はデバッグなどで使用すると思います。~
以下に設定方法を記します。
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 本資料で使用した環境 [#za69c29d]
- OS~
CentOS6(X86_64)
#br
- PostgreSQL(CentOSのRPMパッケージを使用)~
PostgreSQL 8.4.13 on x86_64-redhat-linux-gnu, compiled by...
* 関連資料 [#b216c906]
[[linux.just4fun.biz>http://linux.just4fun.biz/]]の記事
-[[psコマンドでプロセスの引数を確認する方法>http://linux....
-[[PostgreSQLが出力するログの言語を英語にする方法>Postgre...
* postgresql.confの修正しSQLステートメントをログファイル...
以下の手順でログにSQLステートメントを出力するようにPostgr...
+ postgresql.confのありかを調べる~
postgresql.confファイルを修正するのでpostgresql.confファ...
もし、postgresql.confファイルのありかがわからない時や忘れ...
psコマンドとgrepで検索した結果は以下の通りです。
使用したコマンド
ps auxw | grep postgres
上記では、postgresで検索しました。postmasterでした方がい...
また、postgresユーザ以外または、postmasterコマンド以外でP...
#br
-- 実行例~
以下の実行結果を見ると -D /var/lib/pgsql/data と表示され...
postgresql.confは/var/lib/pgsql/dataにあることが推測でき...
[sakura@centos6 ~]$ ps auxw | grep postgres | grep -v grep
postgres 2083 0.0 0.6 214100 6384 ? S 00:1...
postgres 2112 0.0 0.1 177112 1408 ? Ss 00:1...
postgres 2114 0.0 0.1 214100 1840 ? Ss 00:1...
<snip>
#br
+ ログ出力のためにlogging_collectorの設定を行う
postgresql.confを開き、logging_collectorをonにします。
# This is used when logging to stderr:
logging_collector = on # Enable capturi...
# into log files...
# csvlogs.
# (change requir...
#br
ちなみにログ出力されるディレクトリ名は、postgresql.conf内...
# These are only used if logging_collector is on:
log_directory = 'pg_log' # directory wher...
# can be absolut...
#br
+ SQLステートメントをログファイルに出力するためにlog_stat...
postgresql.conf内になるlog_statementの設定を以下のいづれ...
|none|出力しない|
|ddl|CREATE、ALTER、およびDROPといった、データ定義コマン...
|mod|ddlとINSERT、UPDATE、DELETE、TRUNCATE、およびCOPY FR...
|all|すべてのSQLがログに出力されます。|
-- 参考資料 : [[PostgreSQL 8.4.4文書 18.7. エラー報告とロ...
#br
本資料ではallを指定しました。
log_statement = 'all' # none, ddl, mod, ...
#br
ちなみにpostgresql.confの先頭にある#はコメントを意味しま...
修正しても#を削除しないとデフォルト値が使用されるので注意...
#br
+ PostgreSQLを再起動します。~
本資料ではCentOS6のRPMパッケージによりPostgreSQLをインス...
pg_ctl restart オプションでも再起動できますので、みなさん...
[root@centos6 ~]# service postgresql restart
postgresql サービスを停止中: ...
postgresql サービスを開始中: ...
+ 設定した値が変更されているかpsqlコマンドで確認してみま...
-bash-4.1$ psql -c 'show log_statement'
log_statement
---------------
all
(1 行)
* 実際に端末からSQLを発行した時のログ出力 [#sbc45c63]
以下に端末からPostgreSQLを操作しtailコマンドでPostgreSQL...
- 端末からPostgreSQLを操作
-bash-4.1$ echo $USER
postgres
-bash-4.1$ createdb sakura
-bash-4.1$ psql sakura
psql (8.4.13)
"help" でヘルプを表示します.
sakura=# create table t1 (c1 int, c2 int);
CREATE TABLE
sakura=# insert into t1 values(1,10);
INSERT 0 1
sakura=# select * from t1;
c1 | c2
----+----
1 | 10
(1 行)
sakura=# \q
- PostgreSQLのログをtailコマンドで確認
-bash-4.1$ tail -f $PGDATA/pg_log/postgresql-Mon.log
<snip>
LOG: 文: CREATE DATABASE sakura;
LOG: 文: create table t1 (c1 int, c2 int);
LOG: 文: insert into t1 values(1,10);
LOG: 文: select * from t1;
以上、PostgreSQLでSQLステートメントをログファイルに出力す...
#htmlinsertpcsp(db-btm.html,db-sp.html)
ページ名: