On Wed, Jun 15, 2011 at 10:31 AM, Robert Haas <robertmh...@gmail.com> wrote:
> On Wed, Jun 15, 2011 at 9:44 AM, Gurjeet Singh <singh.gurj...@gmail.com> > wrote: > > Why not expose this new information as functions instead of a new view, > like > > we do for pg_is_in_replication(). People can use whatever alias they want > in > > the queries they write. > > > > SELECT get_current_query(pid), is_idle(pid), is_idle_in_transaction(pid), > > transaction_start_time(pid), .... FROM (select procpid as pid FROM > > pg_stat_activity); > > > > Then pg_activity (or whatever we name it later) would also be a view on > top > > of these functions. > > Well, that would probably be a lot slower, and wouldn't necessarily > deliver as consistent a snapshot of system activity. It's better to > have one set-returning function that dumps out all the data in a > single pass. > I wanted to address consistency issue in the previous mail, but then wanted that to be left for later. We can provide consistency the same way pg_locks provides; take a snapshot on first request within a transaction, and reuse that snapshot for subsequent calls. In this case we might want to go a bit finer grained by providing a snapshot for every query. -- Gurjeet Singh EnterpriseDB Corporation The Enterprise PostgreSQL Company