I'm burning in some new code that I wrote over the past week to periodically remove old entries from postscreen(8) and verify(8) caches. This is not a sexy topic, but it helps to keep database sizes in check, it speeds up database access, and it was time.
If you're courageous you can try postfix-2.7-20091227-nonprod. If you have used postscreen(8) or verify(8) before, you will notice that they weed out lots and lots of expired entries from the databases while reporting their progress along the way. The cache cleaning code runs while a postscreen(8) or verify(8) process is waiting for real work. Cache cleaning suspends when the process does no real work for $max_idle seconds, and resumes when there is a request for postscreen(8) or verify(8) service. After a cache cleanup run is completed, no cleanup happens for 12 hours. Right now, cache cleaning cannot be disabled, so the postscreen(8) or verify(8) cache databases MUST support the "delete" and "sequence" operations. For backwards compatibility sake I may add a non-cleaning option but it won't be the default setting. Wietse