Upgrade all Berkeley db's
Toomas Aas
toomas.aas at raad.tartu.ee
Thu Feb 7 14:18:24 EST 2008
Martin Schweizer wrote:
> I use FreeBSD 6.3 and Cyrus 2.3.11 (with sasldb2). All works correct.
> In the upgrade process (2.3.9 to 2.3.11) I checked also all the db
> files.
So you currently have 2.3.9 and want to upgrade to 2.3.11?
I found the following:
>
> file /usr/local/etc/sasldb2:
> /usr/local/etc/sasldb2.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)
>
> -> Do I need to upgrade the sasldb2 or can I let is as is?
sasldb2 is not directly used by cyrus-imapd, it is used by cyrus-sasl2. If
your upgrade doesn't involve upgrading cyrus-sasl2 then you don't need to
worry about sasldb2.
>
> file /var/imap/*.db:
> - annotations.db: Apple QuickTime movie (modified)\012- Cyrus skiplist DB
>
> - deliver.db: Hitachi SH big-endian COFF object, not
> stripped\012- Berkeley DB (Btree, version 8, native byte-order)\012-
> Berkeley DB (Btree, version 8, little-endian)
>
> - mailboxes.db: Apple QuickTime movie (modified)\012- Cyrus skiplist DB
>
> - tls_sessions.db: Berkeley DB (Btree, version 8, native
> byte-order)\012- Berkeley DB (Btree, version 8, little-endian)
>
> pkg_info|grep db:
> db3-3.3.11_3,1 The Berkeley DB package, revision 3.3
> db41-4.1.25_4 The Berkeley DB package, revision 4.1
Danger Will Robinson! Having multiple versions of BDB on the same machine
is an easy way to shoot yourself in the foot during installation of any
BDB-dependent software..
> db3_dump deliver.db and tls_sessions.db:
> VERSION=3
> format=bytevalue
> type=btree
> ...
> This means for me it's db3. Can I upgrade it with db3_dump to a text
> file db41_load in a new database file? Or can cyrus create
> tls_session.db and deliver.db new?
You could also just leave these files in db3 format by specifying
WITH_BDB_VER=3 during the port build.
tls_sessions.db is a transient file anyway and if you just delete it then
Cyrus re-creates it. It is used to keep track of current TLS sessions, as
it's name implies.
In my experience, deliver.db is also automatically re-created by Cyrus so
it can be deleted, but I'm not sure what you lose if you do so. I have
migrated Cyrus to another server 3 times during past couple of years and
I've never bothered to transfer deliver.db from old server to new. No-one
has complained.
>
> annotations.db:
> How I can upgrade this db? Do I need it or can cyrus createannotations.db?
Again, this file in my experience is automatically re-created by Cyrus.
> mailboxes.db:
> This I can dump/restore by ctl_mboxlist -d/-u.
You could do so, but it is not necessary for the upgrade.
>
> What is about the files in the directories /var/imap/db and
> /var/imap/user? How I should dealt with these? Did I foreget
> something?
/var/imap/db is the 'Berkeley DB environment', whatever that means. If you
do decide to go from db3 to db4 then you probably need to do something
about it.
/var/imap/user is important. It contains files that keep track about which
users have subscribed to which mailboxes and which messages they have read.
It survives 2.3.9 -> 2.3.11 upgrade without any problems.
HTH
--
Toomas Aas
More information about the Info-cyrus
mailing list