Kmail, the mail program of the KDE project, does not come alone. Also included is an address book, an appointment manager, a notification service and much more. The whole thing is kept running by Akonadi, the backend of the whole KDE PIM Suite.
By default Akonadi runs with MySQL as database system, but this has caused quite some fuss again and again. So I looked around for alternatives and ended up at PostgreSQL next to SQLite. Unfortunately there were some negative reports about SQLite and the implementation in Akonadi, so I sorted it out directly.
I had no experience with PostgreSQL, but was able to set it up quite quickly. Connecting Akonadi and Kmail to PostgreSQL was also easy.
All steps under openSUSE
First we install all necessary packages for PostgreSQL and the Akonadi connection:
# zypper in postgresql-server libQt5Sql5-postgresql
Activate and start PostgreSQL Server:
# systemctl enable --now postgresql
Create Postgres user and database:
# su - postgres $ createuser <your-username> $ psql postgres postgres=# alter user <your-username> createdb; postgres=# \q; # exit
Then we set up the database access with your regular user account:
$ createdb akonadi-<your-username>
Now we stop Akonadi and delete or move the settings. This is especially important if you have already had started Akonadi!
$ akonadictl stop $ rm -rf ~/.local/share/akonadi
We adjust the connection to the database server in the file ~/.config/akonadi/akonadiserverrc as follows:
[%General] Driver=QPSQL [QPSQL] Host=/tmp/akonadi-<your-username>.hash InitDbPath=/usr/bin/initdb Name=akonadi Options= ServerPath=/usr/bin/pg_ctl StartServer=true
Finally restart Akonadi and you are ready to go:
$ akonadictl start