This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
reference:reset_message_folder_counts [2014/11/19 12:50] – created paul | reference:reset_message_folder_counts [2018/11/14 10:45] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
======Reset Message Folder Counts====== | ======Reset Message Folder Counts====== | ||
- | | + | In extremely rare cases, the mail folder message counts in the database may get out of step with the actual stored messages. There are database triggers which will keep the counts in sync during normal operation, but if you have to manipulate the database directly (eg to recover from a corrupted database) it is possible that they will get out of step. |
+ | |||
+ | **Before running the query below you will need to stop VPOP3**. Note that running it will take some time, depending on the size of the database and the performance of the VPOP3 server, and there is no progress indicator for database queries. | ||
+ | |||
+ | At a command prompt in the VPOP3 directory run | ||
+ | |||
+ | psql | ||
+ | (The password is ' | ||
+ | |||
+ | Then, type | ||
+ | |||
+ | | ||
sum(case when newflag then 1 else 0 end) as newcnt, | sum(case when newflag then 1 else 0 end) as newcnt, | ||
- | | + | |
- | sum(case when hold then 1 else 0 end) as holdcnt from | + | sum(case when hold then 1 else 0 end) as holdcnt from messages.folders left join |
- | messages.foldermessages inner join messages.msgdata using(msgdataid) where deletedtime is null group by folderid) | + | |
- | update messages.folders f set msgcount=ff.cnt, | + | |
- | | + | update messages.folders f set msgcount=ff.cnt, |
+ | | ||
+ | |||
+ | (Copy and paste if possible!) | ||
+ | |||
+ | N.B. VPOP3 **does** need to be stopped while you do this |