mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
It would also be handy if users could see their own pg_stat_activity
queries while the rest remain blank. Kevin Brown
This commit is contained in:
parent
bd18c50ba8
commit
db5d7ccac9
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.16 2003/03/20 03:34:55 momjian Exp $
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/monitoring.sgml,v 1.17 2003/03/20 18:51:16 momjian Exp $
|
||||
-->
|
||||
|
||||
<chapter id="monitoring">
|
||||
@ -212,9 +212,10 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
|
||||
data on the current query are only available if the
|
||||
<varname>STATS_COMMAND_STRING</varname> configuration option has
|
||||
been enabled. Furthermore, these columns can only be accessed by
|
||||
superusers; to other users, they always appear NULL. (Note that
|
||||
because of the collector's reporting delay, current query will
|
||||
only be up-to-date for long-running queries.)</entry>
|
||||
superusers; or when the user examining the view is the same as the user
|
||||
in the row; for others it reads as null. (Note that because of the
|
||||
collector's reporting delay, current query will only be up-to-date for
|
||||
long-running queries.)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
@ -534,7 +535,8 @@ postgres: <replaceable>user</> <replaceable>database</> <replaceable>host</> <re
|
||||
<entry><type>text</type></entry>
|
||||
<entry>
|
||||
Current query of backend process (NULL if caller is not
|
||||
superuser, or <varname>STATS_COMMAND_STRING</varname> is not enabled)
|
||||
superuser, or is the same user as that of the backend being queried,
|
||||
or <varname>STATS_COMMAND_STRING</varname> is not enabled)
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
|
@ -284,14 +284,14 @@ pg_stat_get_backend_activity(PG_FUNCTION_ARGS)
|
||||
int len;
|
||||
text *result;
|
||||
|
||||
if (!superuser())
|
||||
PG_RETURN_NULL();
|
||||
|
||||
beid = PG_GETARG_INT32(0);
|
||||
|
||||
if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL)
|
||||
PG_RETURN_NULL();
|
||||
|
||||
if (!superuser() && beentry->userid != GetUserId())
|
||||
PG_RETURN_NULL();
|
||||
|
||||
len = strlen(beentry->activity);
|
||||
result = palloc(VARHDRSZ + len);
|
||||
VARATT_SIZEP(result) = VARHDRSZ + len;
|
||||
|
Loading…
Reference in New Issue
Block a user