While running a rather large VACUUM FULL VERBOSE ANALYZE [table]

I managed to hang pgAdmin (v1.8.1 on WinXP) by attempting to view the 
statistics tab of the primary key on the table I was vacuuming. That was an 
hour ago. The vacuum is still proceeding, so pgAdmin may become responsive 
again when the vacuum completes.

The PostgreSQL log reported:

2008-01-28 11:22:51.894 NZDT [2348]: [20-1] LOG:  process 2348 still waiting 
for AccessShareLock on relation 17079 of database 16466 after 1077.999 ms
2008-01-28 11:22:51.894 NZDT [2348]: [21-1] STATEMENT:  SELECT 
pg_size_pretty(pg_relation_size(17079::oid)) AS "Index Size"

pgAdmin will now only show me the main window, none of the open query windows 
(including the one from which I started the vacuum). The main window is 
unresponsive, mouse is an hour glass, and there is no menubar shown.
The status bar says "Retrieving Primary Key details... Done." "0.02 secs"

The pgadmin.log ends with:


2008-01-28 11:21:21 STATUS : Retrieving Table details...
2008-01-28 11:21:21 QUERY  : Set query (DM5376:15432): SELECT DISTINCT deptype, 
classid, cl.relkind,
       CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || 
COALESCE(dep.objsubid::text, '')
            WHEN tg.oid IS NOT NULL THEN 'T'::text
            WHEN ty.oid IS NOT NULL THEN 'y'::text
            WHEN ns.oid IS NOT NULL THEN 'n'::text
            WHEN pr.oid IS NOT NULL THEN 'p'::text
            WHEN la.oid IS NOT NULL THEN 'l'::text
            WHEN rw.oid IS NOT NULL THEN 'R'::text
            WHEN co.oid IS NOT NULL THEN 'C'::text || contype
            ELSE '' END AS type,
       COALESCE(coc.relname, clrw.relname) AS ownertable,
       COALESCE(cl.relname || '.' || att.attname, cl.relname, conname, proname, 
tgname, typname, lanname, rulename, ns.nspname) AS refname,
       COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, 
nsrw.nspname) AS nspname
  FROM pg_depend dep
  LEFT JOIN pg_class cl ON dep.objid=cl.oid
  LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND 
dep.objsubid=att.attnum  LEFT JOIN pg_names
2008-01-28 11:21:22 STATUS : Retrieving Table details... (0.50 secs)
2008-01-28 11:21:22 QUERY  : Set query (DM5376:15432): SELECT DISTINCT deptype, 
classid, cl.relkind,
       CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || 
COALESCE(dep.objsubid::text, '')
            WHEN tg.oid IS NOT NULL THEN 'T'::text
            WHEN ty.oid IS NOT NULL THEN 'y'::text
            WHEN ns.oid IS NOT NULL THEN 'n'::text
            WHEN pr.oid IS NOT NULL THEN 'p'::text
            WHEN la.oid IS NOT NULL THEN 'l'::text
            WHEN rw.oid IS NOT NULL THEN 'R'::text
            WHEN co.oid IS NOT NULL THEN 'C'::text || contype
            ELSE '' END AS type,
       COALESCE(coc.relname, clrw.relname) AS ownertable,
       COALESCE(cl.relname || '.' || att.attname, cl.relname, conname, proname, 
tgname, typname, lanname, rulename, ns.nspname) AS refname,
       COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, 
nsrw.nspname) AS nspname
  FROM pg_depend dep
  LEFT JOIN pg_class cl ON dep.objid=cl.oid
  LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND 
dep.objsubid=att.attnum  LEFT JOIN pg_names
2008-01-28 11:21:26 STATUS : Retrieving Primary Key details...
2008-01-28 11:21:26 STATUS : Retrieving Primary Key details... (0.02 secs)
2008-01-28 11:22:51 QUERY  : Set query (DM5376:15432): SELECT 
pg_size_pretty(pg_relation_size(17079::oid)) AS "Index Size"



I would prefer pgAdmin to timeout the gathering of this statistic, and continue 
being a responsive application.


I ran a second pgAdmin program, and cancelled the query, at which time the 
first program reported the error "canceling statement due to user request", and 
became responsive again (allowing me to switch back to the properties tab after 
repeating my mistake with the table statistics).


Stephen Denne

Disclaimer:
At the Datamail Group we value team commitment, respect, achievement, customer 
focus, and courage. This email with any attachments is confidential and may be 
subject to legal privilege.  If it is not intended for you please advise by 
reply immediately, destroy it and do not copy, disclose or use it in any way.

__________________________________________________________________
  This email has been scanned by the DMZGlobal Business Quality 
              Electronic Messaging Suite.
Please see http://www.dmzglobal.com/services/bqem.htm for details.
__________________________________________________________________


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to