# Database support

## Categories of databases

We have two categories of databases:

* **XML**: eXist
* **Relational**: Oracle, MySQL, SQL Server, PostgreSQL, DB2

Since Orbeon Forms 4.4, the implementation of relational support is common to all databases. There used to be separate implementation for each relational database.

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

## Feature matrix

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

1. Since Orbeon Forms 4.3.
2. Since Orbeon Forms 4.4.
3. Since Orbeon Forms 4.5.
4. Since Orbeon Forms 4.6.
5. Since Orbeon Forms 4.7.
6. Since Orbeon Forms 4.8.

## Third-party implementations

A third-party [MarkLogic persistence layer for Orbeon Form Runner](https://gitlab.dyomedea.com/marklogic/orbeon-form-runner-persistence-layer/tree/master) is available. As of 2015-03-02, this does not support versioning and owner/group-based permissions. Also please note that this is currently not officially supported by Orbeon.

## See also

* [Using Form Runner with a relational database](https://doc.orbeon.com/~/revisions/-LFrzxlvP9UXA6_RDYI9/form-runner/persistence/using-a-relational-database)
