Bill Moran <wmoran@collaborativefusion.com> writes:
>> [root@conni ~]# ps axw|grep postgres
>> 1746 ? S 0:00 postgres: writer process
>> 1747 ? S 0:00 postgres: stats buffer process
>> 1748 ? S 0:00 postgres: stats collector process
>> 2106 pts/1 S 0:00 su postgres
>> 2120 pts/1 S+ 0:00 psql postgres
>> 2188 ? S 0:04 postgres: postgres dummy1 [local] VACUUM waiting
>> 2200 pts/3 S 0:00 su postgres
>> 2215 ? S 0:00 postgres: postgres dummy2 [local] idle in transaction
>> 2717 pts/2 R+ 0:00 grep postgres
Too bad this wasn't accompanied by a dump of pg_locks ... but if that's
the only other open transaction, the only way I can see for it to block
the vacuum is if the vacuum was database-wide, and had gotten to the
point of trying to vacuum one of the shared catalogs (eg, pg_database),
and the other transaction had some type of lock on that shared catalog.
regards, tom lane