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