diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 24674339e2..1e2ff9f3c7 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -18,6 +18,7 @@ The following list contains all changes to pgAdmin3, as present in svn.
+ - 2005-11-25 DP 1.4.1 Fix the server status SQL query
- 2005-11-20 FGP 1.4.1 Include pg_dump/pg_restore in the Mac OSX bundle
- 2005-11-20 DP 1.4.1 Use a proper 'Save As' style dialogue for selecting backup files
- 2005-11-20 AP 1.4.1 Don't show pk hint when editing view
diff --git a/src/frm/frmStatus.cpp b/src/frm/frmStatus.cpp
index b7d3171859..514186ba10 100644
--- a/src/frm/frmStatus.cpp
+++ b/src/frm/frmStatus.cpp
@@ -359,21 +359,25 @@ void frmStatus::OnRefresh(wxCommandEvent &event)
wxString sql;
if (connection->BackendMinimumVersion(7, 4)) {
sql = wxT("SELECT ")
- wxT("(SELECT datname FROM pg_database WHERE oid = database) AS dbname, ")
- wxT("relation::regclass AS class, ")
- wxT("pg_get_userbyid(pg_stat_get_backend_userid(pid)::int4) as user, ")
- wxT("transaction, pid, mode, granted, ")
- wxT("pg_stat_get_backend_activity(pid) AS current_query, ")
- wxT("pg_stat_get_backend_activity_start(pid) AS query_start ")
- wxT("FROM pg_locks ORDER BY pid");
+ wxT("(SELECT datname FROM pg_database WHERE oid = pgl.database) AS dbname, ")
+ wxT("pgl.relation::regclass AS class, ")
+ wxT("pg_get_userbyid(pg_stat_get_backend_userid(svrid)) as user, ")
+ wxT("pgl.transaction, pg_stat_get_backend_pid(svrid) AS pid, pgl.mode, pgl.granted, ")
+ wxT("pg_stat_get_backend_activity(svrid) AS current_query, ")
+ wxT("pg_stat_get_backend_activity_start(svrid) AS query_start ")
+ wxT("FROM pg_stat_get_backend_idset() svrid, pg_locks pgl ")
+ wxT("WHERE pgl.pid = pg_stat_get_backend_pid(svrid) ")
+ wxT("ORDER BY pid;");
} else {
sql = wxT("SELECT ")
- wxT("(SELECT datname FROM pg_database WHERE oid = database) AS dbname, ")
- wxT("relation::regclass AS class, ")
- wxT("pg_get_userbyid(pg_stat_get_backend_userid(pid)::int4) as user, ")
- wxT("transaction, pid, mode, granted, ")
- wxT("pg_stat_get_backend_activity(pid) AS current_query ")
- wxT("FROM pg_locks ORDER BY pid");
+ wxT("(SELECT datname FROM pg_database WHERE oid = pgl.database) AS dbname, ")
+ wxT("pgl.relation::regclass AS class, ")
+ wxT("pg_get_userbyid(pg_stat_get_backend_userid(svrid)) as user, ")
+ wxT("pgl.transaction, pg_stat_get_backend_pid(svrid) AS pid, pgl.mode, pgl.granted, ")
+ wxT("pg_stat_get_backend_activity(svrid) AS current_query ")
+ wxT("FROM pg_stat_get_backend_idset() svrid, pg_locks pgl ")
+ wxT("WHERE pgl.pid = pg_stat_get_backend_pid(svrid) ")
+ wxT("ORDER BY pid;");
}
pgSet *dataSet2=connection->ExecuteSet(sql);