+The main Bacula Director code is independent of the SQL backend
+in version 2.5.0 and greater. This means that the Bacula Director can be
+packaged by itself, then each of the different SQL backends supported can
+be packaged separately. It is possible to build all the DB backends at the
+same time by including multiple database options at the same time.
+
+./configure can be run with multiple database configure options.
+\begin{verbatim}
+ --with-sqlite3
+ --with-mysql
+ --with-postgresql
+\end{verbatim}
+
+Order of testing for databases is:
+\begin{itemize}
+\item postgresql
+\item mysql
+\item sqlite3
+\end{itemize}
+
+Each configured backend generates a file named:
+\verb+libbaccats-<sql_backend_name>-<version>.so+
+A dummy catalog library is created named libbaccats-version.so
+
+At configure time the first detected backend is used as the so called
+default backend and at install time the dummy
+\verb+libbaccats-<version>.so+ is replaced with the default backend type.
+
+If you configure all three backends you get three backend libraries and the
+postgresql gets installed as the default.
+
+When you want to switch to another database, first save any old catalog you
+may have then you can copy one of the three backend libraries over the
+\verb+libbaccats-<version>.so+ e.g.
+
+An actual command, depending on your Bacula version might be:
+\begin{verbatim}
+ cp libbaccats-postgresql-5.2.2.so libbaccats-5.2.2.so
+\end{verbatim}
+
+where the \verb+5.2.2+ must be replaced by the Bacula release
+version number.
+
+Then you must update the default backend in the following files:
+
+\begin{verbatim}
+ create_bacula_database
+ drop_bacula_database
+ drop_bacula_tables
+ grant_bacula_privileges
+ make_bacula_tables
+ make_catalog_backup
+ update_bacula_tables
+\end{verbatim}
+
+And re-run all the above scripts. Please note, this means
+you will have a new empty database and if you had a previous
+one it will be lost.
+