updating cyrus databases
simon.matter at invoca.ch
Wed Mar 23 03:56:32 EDT 2011
> I need to update my databases from 4.2 to 4.7. Unfortunately the guide I
I see, you mean updating BerkeleyDB.
> used last time to update my database has disappeared. All of the stuff I
> find currently on the web says just use cvt_cyrusdb to update your
> database. Which seems pretty straight-forward when I look at the man
> page, but then when I look at my cyrus directory, I get nervous. Which
> files exactly, am I suppose to update? There are so many with db at the
> end, do I do them all?
> ella:~# ls /var/cyrus/data/
> annotations.db db.backup1 deliver.db mailboxes.db msg quota
> db db.backup2 log mailboxes.db~ proc socket user
> ella:~# ls /var/cyrus/data/db
> __db.001 __db.002 __db.003 __db.004 __db.005 log.0000000048
> So, everything with a db in it? And what exactly is <old-fileformat>
> and <new-fileformat>? Is that the DBEngine from
> lib/cyrus/cyrus-db-types.active? So, BerkeleyDB4.2 and BerkeleyDB4.7?
> And once I'm done, I move the old ones out, rename the new ones to the
> old names, get rid of lib/cyrus/cyrus-db-types.active, and reconfigure
> the package?
> If someone has a link to a guide that has more info than the ones I have
> found so far, that may be the easiest thing.
I'm not sure you can upgrade BDB using cvt_cyrusdb directly. I think you
can only do it by exporting to a neutral formal like skiplist, then
updating BDB, and the converting the db's back to BDB. Another way should
be to use the BDB upgrade tools for this.
However, why don't you just get rid of BDB so you don't have to care about
it in future? Any reason you can't convert to skiplist and leave BDB
behind? If you're running a recent Cyrus version then that's strongly
recommended and makes life much easier.
More information about the Info-cyrus