Heikki Linnakangas <[EMAIL PROTECTED]> writes: > We could also limit the size of the hash table, which takes up most of > the memory, and only keep the latest phantom cids there. Presumably, if > current command id is 1000, you're not likely to set cmax to 500 on any > tuple in that transaction anymore.
The downside of that though is that if you did generate any such, you'd assign a fresh (duplicate) phantom cid --- so you're bloating the array in exchange for reducing the hash size. It is quite easy to have current command counter much greater than the CID of a still-live command: consider for example an UPDATE that is firing triggers as it goes, and each trigger executes some queries. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org