# Database support

## Builtin and custom providers

Orbeon Forms provides persistence of form definitions and form data through *persistence providers*. There are two types of providers:

* **Built-in relational provider**: This provides built-in support for Oracle, MySQL, SQL Server, PostgreSQL, and DB2.
* **Custom persistence providers**: See [Custom persistence providers](https://doc.orbeon.com/form-runner/api/persistence/custom-persistence-providers) for details.

For relational database setup instructions, see [Using Form Runner with a relational database](https://doc.orbeon.com/form-runner/persistence/relational-db).

## Feature matrix

With the built-in relational provider, some features are not available for all databases. The following table summarizes the support for each database.

| Feature                                                                                                                   | Oracle | MySQL | SQL Server | PostgreSQL | DB2 |
| ------------------------------------------------------------------------------------------------------------------------- | ------ | ----- | ---------- | ---------- | --- |
| [Form controls and layouts including repeated grids and sections](https://blog.orbeon.com/2014/01/repeated-sections.html) | Y      | Y     | Y          | Y          | Y   |
| [Versioning](https://blog.orbeon.com/2014/02/form-versioning.html)                                                        | Y      | Y     | Y          | Y          | Y   |
| [Owner/group-based permissions](https://doc.orbeon.com/form-runner/access-control/owner-group)                            | Y      | Y     | Y          | Y          | Y   |
| [Autosave](https://doc.orbeon.com/form-runner/persistence/autosave)                                                       | Y      | Y     | Y          | Y          | Y   |
| [Flat view](https://doc.orbeon.com/form-runner/persistence/flat-view)                                                     | Y      | N     | Y          | Y          | Y   |
| Orbeon Forms PE support                                                                                                   | Y      | Y     | Y          | Y          | Y   |
| Orbeon Forms CE support                                                                                                   | N      | Y     | N          | Y          | N   |

## Older database support

Support for the eXist database was deprecated since Orbeon Forms 2019.1 and removed since Orbeon Forms 2023.1.

## See also

* [Using Form Runner with a relational database](https://doc.orbeon.com/form-runner/persistence/relational-db)
* [Relational database schema](https://doc.orbeon.com/form-runner/persistence/relational-db-schema)
* [Custom persistence providers](https://doc.orbeon.com/form-runner/api/persistence/custom-persistence-providers)
