> Oh. Hmm, if that's what you want then I do not think an indexscan is > the way to go about it. The indexscan will only visit leaf pages > (and not, for example, internal nodes of a btree). Also the > free-space-counting code you're using seems pretty unworkable since the > indexscan is unlikely to visit leaf pages in anything like sequential > order.
Oh I was not aware of this. > I think the only reasonable way to get useful statistics would be to > read the index directly --- page by page, no indexscan, distinguishing > leaf pages, internal pages, and overhead pages for yourself. This would > require index-AM-specific knowledge about how to tell which type each > page is, but I believe all the index AMs make that possible. That's what I'm afraid of. > Also, I'd suggest that visiting the heap is just useless overhead. A > person who wants to know whether the heap needs to be vacuumed can get > that data from pgstattuple. Reading the heap to check tuple state will > make this function orders of magnitude slower, while not producing much > useful info that I can see. Ok let me think about this. Thank you for the suggestion! -- Tatsuo Ishii ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html