After a long battle with technology, [EMAIL PROTECTED] (Hannu Krosing), an earthling, wrote: > Christopher Browne kirjutas R, 14.11.2003 kell 16:13: >> Martha Stewart called it a Good Thing when [EMAIL PROTECTED] (Rajesh Kumar Mallah) >> wrote: >> > INFO: "profiles": found 0 removable, 369195 nonremovable row versions in 43423 >> > pages >> > DETAIL: 246130 dead row versions cannot be removed yet. >> > Nonremovable row versions range from 136 to 2036 bytes long. >> >> It seems as though you have a transaction open that is holding onto a >> whole lot of old rows. >> >> I have seen this happen somewhat-invisibly when a JDBC connection >> manager opens transactions for each connection, and then no processing >> happens to use those connections for a long time. The open >> transactions prevent vacuums from doing any good... > > Can't the backend be made to delay the "real" start of transaction until > the first query gets executed ?
One would hope so. Some time when I have the Round Tuits, I ought to take a browse of the connection pool code to notice if there's anything to notice. The thing that I keep imagining would be a slick idea would be to have a thread periodically go through once for however many connections the pool permits and fire a short transaction through every otherwise-unoccupied connection in the pool, in effect, doing a sort of "vacuum" of the connections. I don't get very favorable reactions when I suggest that, though... -- (reverse (concatenate 'string "ac.notelrac.teneerf" "@" "454aa")) http://cbbrowne.com/info/sgml.html Rules of the Evil Overlord #80. "If my weakest troops fail to eliminate a hero, I will send out my best troops instead of wasting time with progressively stronger ones as he gets closer and closer to my fortress." <http://www.eviloverlord.com/> ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match