By default, TeamCity uses an internal database based on HyperSQL DataBase (HSQLDB). The database files in the default setup are stored in <TeamCity Data Directory>
, which is usually <HOME>/.BuildServer
.
Note
HSQLDB is a database engine that provides in-memory and disk-based tables. More information about it can be obtained at http://hsqldb.org/.
While the internal database makes it very easy to evaluate TeamCity, it is not ideal for production usage. Heavy usage could result in loss of data and downtime.
The recommended way to use TeamCity in a production environment (read, real use) is to use an external database such as PostgreSQL or MySQL.
In this section, we will be using PostgreSQL as an example of an external database, and the steps that will be mentioned are similar for other databases as well.