Sumbry][ wrote:
Curious as to why internal_delivery_user curmail_size is computed?  We
have a sizable dbmail installation using Postgres, and because of the way
Postgres deals with transactions, at any given time we will see 20-30
processes all waiting to get an update lock.

 UPDATE users SET curmail_size = curmail_size + '1762' WHERE user_idnr = '1'

(the postmaster processes are all stuck in "UPDATE waiting" with a query
similiar to the above)

I hadn't thought about that one yet... The size is computed because the internal_delivery_user uses the same functions as all other users to insert messages into its mailbox.

I can't see any need to know what the size of the internal_delivery_users
mailbox is, or even to be computing this value if we have specified no
quota for any user.

If we modify the source to skip this update (on maxmail_size=0), does
anyone see any potential problems?

The only problem it might give is that you can't use curmail_size to view the size of a user's mailbox, if that user doesn't have a maxmail_size. Other than that, I see no problem.

Would you mind posting your patch to the list when it's finished?

Ilja

Reply via email to