定位慢查询SQL
可以设置一定时长的参数(log_min_duration_statement),来记录超过该时长的所有SQL,对找出当前数据库的慢查询很有效。 比如log_min_duration_statement = 2s,记录超过2秒的SQL,改完需要reload
示例:
postgres=# show log_min_duration_statement ;
log_min_duration_statement
----------------------------
2s
(1 row)
postgres=# \timing
Timing is on.
postgres=# select now(),pg_sleep(1);
now | pg_sleep
------------------------------+----------
2013-03-29 12:36:48.13353-07 |
(1 row)
Time: 1001.844 ms
postgres=# select now(),pg_sleep(4);
now | pg_sleep
-------------------------------+----------
2013-03-29 12:36:28.309595-07 |
(1 row)
Time: 4002
可以设置一定时长的参数(log_min_duration_statement),来记录超过该时长的所有SQL,对找出当前数据库的慢查询很有效。 比如log_min_duration_statement = 2s,记录超过2秒的SQL,改完需要reload
示例:
postgres=# show log_min_duration_statement ;
log_min_duration_statement
----------------------------
2s
(1 row)
postgres=# \timing
Timing is on.
postgres=# select now(),pg_sleep(1);
now | pg_sleep
------------------------------+----------
2013-03-29 12:36:48.13353-07 |
(1 row)
Time: 1001.844 ms
postgres=# select now(),pg_sleep(4);
now | pg_sleep
-------------------------------+----------
2013-03-29 12:36:28.309595-07 |
(1 row)
Time: 4002