Chapter 19. Using an External Database

Table of Contents

19.1. Supported Databases
19.2. Migrating to an External Database
19.2.1. Step 1 - Stop SavaPage
19.2.2. Step 2 - Create a Backup
19.2.3. Step 3 - Create new Database in External DBMS
19.2.4. Step 4 - Change SavaPage Connection Parameters
19.2.5. Step 5 - Initialize new Database
19.2.6. Step 6 - Restore Backup into new Database
19.2.7. Step 7 - Restart SavaPage

By default SavaPage is packaged with Apache Derby as internal database. This gives you the opportunity to evaluate SavaPage on a small scale right away. However, in a production environment with multiple users, we strongly advise you to use PostgreSQL as external database server.


Using the internal database in situations with multiple users and thus concurrent use, will inevitably lead to locking, deadlock and out-of-memory errors, which can make the system totally unresponsive.

Other situations can be extra reason to choose for an external database, like:

This chapter describes how to connect and migrate to an external database. For database tuning, see Section 11.3.2, “Database Connection Settings”.

19.1. Supported Databases

SavaPage is able to use any database that has a JDBC driver available. However, we choose to support PostgreSQL on GNU/Linux servers only. PostgreSQL is designed to be highly scalable, is optimized for concurrent use, and handles datasets of any size efficiently. We have used it in large scale SavaPage implementations and see it behave robust with thousands of users. Above that, PostgreSQL is free and open source software, and complies to open standards.