Thread: Logging affected rows
When i run a query , i just only want to the affected rows are logged to log file,What can i do ? .Is there a parameter in postgresql.conf to do that ? .Thanks in advance -- View this message in context: http://postgresql.1045698.n5.nabble.com/Logging-affected-rows-tp5740689.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
On Thu, Jan 17, 2013 at 9:18 AM, classical_89 <luongnx512@gmail.com> wrote:
When i run a query , i just only want to the affected rows are logged to log
file,What can i do ? .Is there a parameter in postgresql.conf to do that ?
.Thanks in advance
AFAIK, I don't think we can log only affected rows of the query. But you can log the EXPLAIN ANALYZE output of the query which includes affected rows using AUTO_EXPLAIN contrib module.
Eg:-
postgres=# set auto_explain.log_analyze TO on;
SET
postgres=# load 'auto_explain';
LOAD
postgres=# select count(*) from cities ;
count
-------
2
(1 row)
In logs:
2012-12-06 03:27:57.104 IST [17410]: [78-1] db=postgres,user=postgres LOG: statement: select count(*) from cities ;
2012-12-06 03:27:57.105 IST [17410]: [79-1] db=postgres,user=postgres LOG: duration: 0.024 ms plan:
Query Text: select count(*) from cities ;
Aggregate (cost=1.02..1.03 rows=1 width=0) (actual time=0.015..0.015 rows=1 loops=1)
Output: count(*)
-> Seq Scan on public.cities (cost=0.00..1.02 rows=2 width=0) (actual time=0.009..0.010 rows=2 loops=1)
Output: city, location
On Sat, Jan 19, 2013 at 12:53 PM, Raghavendra <raghavendra.rao@enterprisedb.com> wrote:
On Thu, Jan 17, 2013 at 9:18 AM, classical_89 <luongnx512@gmail.com> wrote:When i run a query , i just only want to the affected rows are logged to log
file,What can i do ? .Is there a parameter in postgresql.conf to do that ?
.Thanks in advanceAFAIK, I don't think we can log only affected rows of the query. But you can log the EXPLAIN ANALYZE output of the query which includes affected rows using AUTO_EXPLAIN contrib module.Eg:-postgres=# set auto_explain.log_analyze TO on;SETpostgres=# load 'auto_explain';LOADpostgres=# select count(*) from cities ;count-------2(1 row)In logs:2012-12-06 03:27:57.104 IST [17410]: [78-1] db=postgres,user=postgres LOG: statement: select count(*) from cities ;2012-12-06 03:27:57.105 IST [17410]: [79-1] db=postgres,user=postgres LOG: duration: 0.024 ms plan:Query Text: select count(*) from cities ;Aggregate (cost=1.02..1.03 rows=1 width=0) (actual time=0.015..0.015 rows=1 loops=1)Output: count(*)-> Seq Scan on public.cities (cost=0.00..1.02 rows=2 width=0) (actual time=0.009..0.010 rows=2 loops=1)Output: city, location
Correction to my previous email, first you need to LOAD module and then enable log_analyze. Copy/Paste mistake :)
--Raghav