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

Reply via email to