summaryrefslogtreecommitdiff
path: root/src/include/pgstat.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-03-21 21:08:31 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-03-21 21:08:31 +0000
commit4b7ae4afaec67c906ad152ec4795a50f9b235250 (patch)
treefc55f7a4371da7e9e943f34b06981986ace3b62a /src/include/pgstat.h
parentdf812e91ada4b9201fedac5bd7277c25b68afb41 (diff)
Report the current queries of all backends involved in a deadlock
(if they'd be visible to the current user in pg_stat_activity). This might look like it's subject to race conditions, but it's actually pretty safe because at the time DeadLockReport() is constructing the report, we haven't yet aborted our transaction and so we can expect that everyone else involved in the deadlock is still blocked on some lock. (There are corner cases where that might not be true, such as a statement timeout triggering in another backend before we finish reporting; but at worst we'd report a misleading activity string, so it seems acceptable considering the usefulness of reporting the queries.) Original patch by Itagaki Takahiro, heavily modified by me.
Diffstat (limited to 'src/include/pgstat.h')
-rw-r--r--src/include/pgstat.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index 95589eb51e7..49fd149d55c 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 2001-2008, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/include/pgstat.h,v 1.71 2008/01/01 19:45:56 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/pgstat.h,v 1.72 2008/03/21 21:08:31 tgl Exp $
* ----------
*/
#ifndef PGSTAT_H
@@ -507,6 +507,7 @@ extern void pgstat_bestart(void);
extern void pgstat_report_activity(const char *what);
extern void pgstat_report_xact_timestamp(TimestampTz tstamp);
extern void pgstat_report_waiting(bool waiting);
+extern const char *pgstat_get_backend_current_activity(int pid);
extern void pgstat_initstats(Relation rel);