Обсуждение: How to get no. of commits/rollbacks by application on the database?

Поиск
Список
Период
Сортировка

How to get no. of commits/rollbacks by application on the database?

От
Raghavendra
Дата:
Hi All,

How can we figure out no. of commit/rollback happend on the database by application ?

As per my testing what I observed, even if your database is idle than in pg_stat_database (xact_commit/xact_rollback) columns keep increasing. This means autovacuum/autoanalyze count also included in these column. 

If am a DBA, how to know exact application or user commits/rollbacks happened on the database without enabling logs.

Please advice.

---
Regards,
Raghavendra
EnterpriseDB Corporation

Re: How to get no. of commits/rollbacks by application on the database?

От
Craig Ringer
Дата:
On 06/19/2012 09:08 PM, Raghavendra wrote:

 > How can we figure out no. of commit/rollback happend on the database
 > by application ?
 >
> If am a DBA, how to know exact application or user commits/rollbacks
> happened on the database without enabling logs.

This sounds like one of those "what are you trying to achieve"
questions, where you need to step back and ask why you're trying to
collect that info and what you want it for.

First, how do you define "application"? Any client that connects to a
given database? Any client that sets the application_name GUC to a
particular value? Any client from a given host? etc. "Application" can
mean a lot of different things. It sounds like you might simply mean
work done on a connection that isn't internal to the database system's
bookkeeping, which is a bit easier, but I'm not sure.

Second, why? What does the transaction count tell you? How will you
account for work done by PgAgent (if used), via dblink, etc?

I guess I'm unsure what you're trying to accomplish.

--
Craig Ringer

Re: How to get no. of commits/rollbacks by application on the database?

От
Raghavendra
Дата:

This sounds like one of those "what are you trying to achieve" questions, where you need to step back and ask why you're trying to collect that info and what you want it for.

First, how do you define "application"? Any client that connects to a given database? Any client that sets the application_name GUC to a particular value? Any client from a given host? etc. "Application" can mean a lot of different things. It sounds like you might simply mean work done on a connection that isn't internal to the database system's bookkeeping, which is a bit easier, but I'm not sure.

Second, why? What does the transaction count tell you? How will you account for work done by PgAgent (if used), via dblink, etc?

I guess I'm unsure what you're trying to accomplish.


Thanks Craig for your reply. 
4 What's, 2 Why's, 2 How's ...  :)

Let me put my question simple. 

What counts include in xact_commit & xact_rollback of pg_stat_database ?

--Raghav