# Relational database schema

## Overview

Orbeon Forms uses, out of the box, a relational database persistence provider. This page describes the purpose of the tables and sequences used by this provider, as well as points to current and historical DDL (Data Definition Language) files for the supported versions of Orbeon Forms.

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

## Tables

| Table Name                      | Description                                                                     | See also                                                                                         |
| ------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `orbeon_form_definition`        | Holds *published* form definitions.<sup>1</sup>                                 |                                                                                                  |
| `orbeon_form_definition_attach` | Holds attachments related to *published* form definitions.<sup>1</sup>          |                                                                                                  |
| `orbeon_form_data`              | Holds saved and draft form data.<sup>2</sup>                                    |                                                                                                  |
| `orbeon_form_data_attach`       | Holds attachments associated with submitted form data.<sup>2</sup>              |                                                                                                  |
| `orbeon_form_data_lease`        | Holds information about active leases on form data.                             | [Lease feature](https://doc.orbeon.com/form-runner/features/lease)                               |
| `orbeon_organization`           | Holds information about organizations.                                          | [Organization-based permissions](https://doc.orbeon.com/form-runner/access-control/organization) |
| `orbeon_i_current`              | Holds references to the current form data, as opposed to historical data.       |                                                                                                  |
| `orbeon_i_control_text`         | Holds the values of indexed form controls for search and the Summary page.      | [Search API](https://doc.orbeon.com/form-runner/api/persistence/search)                          |
| `orbeon_seq`                    | Used to generate organization IDs (except for Oracle where it is a `sequence`). | [Organization-based permissions](https://doc.orbeon.com/form-runner/access-control/organization) |

1. The `orbeon_form_definition` and `orbeon_form_definition_attach` also hold *published* section template libraries and their attachments if any.
2. The `orbeon_form_data` and `orbeon_form_data_attach` tables also hold *unpublished* form definitions, unpublished libraries, as well as form templates, and their attachments if any. These form definitions, libraries, and form templates are visible when you go to the [Form Builder Summary page](https://doc.orbeon.com/form-builder/summary-page). You can edit them with Form Builder.

See also:

* [Terminology](https://doc.orbeon.com/form-runner/overview/terminology)
* [Publishing](https://doc.orbeon.com/form-builder/form-editor/publishing)

## Sequences

| Sequence Name | Description                                                                |
| ------------- | -------------------------------------------------------------------------- |
| `orbeon_seq`  | Oracle database only: Used to generate organization IDs and form data IDs. |

## Current DDL

### Introduction

The following sections list the DDL (Data Definition Language) files for the latest supported versions of Orbeon Forms. The DDL files are used to create the database schema from scratch or to upgrade an existing schema to a newer version.

For a list of supported Orbeon Forms versions, see [Release History](https://doc.orbeon.com/release-history).

### Oracle

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                              | DDL to upgrade from previous format                                                                                                                                                          |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2025.1 and newer        | [oracle-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/oracle-2025_1.sql) | [oracle-2024\_1-to-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/oracle-2024_1-to-2025_1.sql) |
| 2024.1                  | [oracle-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/oracle-2024_1.sql) | [oracle-2019\_1-to-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/oracle-2019_1-to-2024_1.sql) |
| 2022.1 to 2023.1        | [oracle-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/oracle-2019_1.sql) | [oracle-2018\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/oracle-2018_2-to-2019_1.sql) |

### MySQL

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                            | DDL to upgrade from previous format                                                                                                                                                        |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 2025.1 and newer        | [mysql-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/mysql-2025_1.sql) | [mysql-2024\_1-to-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/mysql-2024_1-to-2025_1.sql) |
| 2024.1                  | [mysql-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/mysql-2024_1.sql) | [mysql-2019\_1-to-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/mysql-2019_1-to-2024_1.sql) |
| 2022.1 to 2023.1        | [mysql-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/mysql-2019_1.sql) | [mysql-2018\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/mysql-2018_2-to-2019_1.sql) |

### SQL Server

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                                    | DDL to upgrade from previous format                                                                                                                                                                |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2025.1 and newer        | [sqlserver-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/sqlserver-2025_1.sql) | [sqlserver-2024\_1-to-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/sqlserver-2024_1-to-2025_1.sql) |
| 2024.1                  | [sqlserver-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/sqlserver-2024_1.sql) | [sqlserver-2023\_1-to-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/sqlserver-2023_1-to-2024_1.sql) |
| 2023.1                  | [sqlserver-2023\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2023.1/sqlserver-2023_1.sql) | [sqlserver-2019\_1-to-2023\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2023.1/sqlserver-2019_1-to-2023_1.sql) |
| 2022.1                  | [sqlserver-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/sqlserver-2019_1.sql) | [sqlserver-2017\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/sqlserver-2017_2-to-2019_1.sql) |

### PostgreSQL

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                                      | DDL to upgrade from previous format                                                                                                                                                                  |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2025.1 and newer        | [postgresql-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/postgresql-2025_1.sql) | [postgresql-2024\_1-to-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/postgresql-2024_1-to-2025_1.sql) |
| 2024.1                  | [postgresql-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/postgresql-2024_1.sql) | [postgresql-2023\_1-to-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/postgresql-2023_1-to-2024_1.sql) |
| 2023.1                  | [postgresql-2023\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2023.1/postgresql-2023_1.sql) | [postgresql-2019\_1-to-2023\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2023.1/postgresql-2019_1-to-2023_1.sql) |
| 2022.1                  | [postgresql-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/postgresql-2019_1.sql) | [postgresql-2018\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/postgresql-2018_2-to-2019_1.sql) |

### DB2

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                        | DDL to upgrade from previous format                                                                                                                                                    |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2025.1 and newer        | [db2-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/db2-2025_1.sql) | [db2-2024\_1-to-2025\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2025.1/db2-2024_1-to-2025_1.sql) |
| 2024.1                  | [db2-2024\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2024.1/db2-2024_1.sql) | See below                                                                                                                                                                              |
| 2022.1 to 2023.1        | [db2-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/db2-2019_1.sql) | [db2-2017\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/db2-2017_2-to-2019_1.sql) |

The DDL includes indices since Orbeon Forms 2024.1. Those indices typically cannot be added if the tables are created in the default tablespace, so the 2024.1 DDL includes the declaration for a new tablespace with 32K page size. No upgrade script is provided for 2024.1, as tables need to be moved or recreated in the new tablespace. You may use DB2's `SYSPROC.ADMIN_MOVE_TABLE` stored procedure to help with this migration.

## Historical DDL

### Introduction

The following sections list the DDL (Data Definition Language) files for older and non-supported versions of Orbeon Forms.

For a list of supported Orbeon Forms versions, see [Release History](https://doc.orbeon.com/release-history).

### Oracle

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                              | DDL to upgrade from previous format                                                                                                                                                          |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2019.1 to 2021.1        | [oracle-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/oracle-2019_1.sql) | [oracle-2018\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/oracle-2018_2-to-2019_1.sql) |
| 2018.2                  | [oracle-2018\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2018.2/oracle-2018_2.sql) | [oracle-2017\_2-to-2018\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2018.2/oracle-2017_2-to-2018_2.sql) |
| 2017.2, 2018.1          | [oracle-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/oracle-2017_2.sql) | [oracle-2017\_1-to-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/oracle-2017_1-to-2017_2.sql) |
| 2017.1                  | [oracle-2017\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.1/oracle-2017_1.sql) | [oracle-2016\_3-to-2017\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.1/oracle-2016_3-to-2017_1.sql) |
| 2016.3                  | [oracle-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/oracle-2016_3.sql) | [oracle-2016\_2-to-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/oracle-2016_2-to-2016_3.sql) |
| 2016.2                  | [oracle-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/oracle-2016_2.sql) | [oracle-4\_10-to-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/oracle-4_10-to-2016_2.sql)     |
| 4.10, 2016.1            | [oracle-4\_10.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.10/oracle-4_10.sql)       | [oracle-4\_6-to-4\_10.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.10/oracle-4_6-to-4_10.sql)             |
| 4.6, 4.7, 4.8, 4.9      | [oracle-4\_6.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.6/oracle-4_6.sql)          | [oracle-4\_5-to-4\_6.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.6/oracle-4_5-to-4_6.sql)                |
| 4.5                     | [oracle-4\_5.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.5/oracle-4_5.sql)          | [oracle-4\_4-to-4\_5.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.5/oracle-4_4-to-4_5.sql)                |
| 4.4                     | [oracle-4\_4.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.4/oracle-4_4.sql)          | [oracle-4\_3-to-4\_4.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.4/oracle-4_3-to-4_4.sql)                |
| 4.3                     | [oracle-4\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.3/oracle-4_3.sql)          | -                                                                                                                                                                                            |

### MySQL

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                            | DDL to upgrade from previous format                                                                                                                                                        |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 2019.1 to 2021.1        | [mysql-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/mysql-2019_1.sql) | [mysql-2018\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/mysql-2018_2-to-2019_1.sql) |
| 2018.2                  | [mysql-2018\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2018.2/mysql-2018_2.sql) | [mysql-2017\_2-to-2018\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2018.2/mysql-2017_2-to-2018_2.sql) |
| 2017.2, 2018.1          | [mysql-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/mysql-2017_2.sql) | [mysql-2016\_3-to-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/mysql-2016_3-to-2017_2.sql) |
| 2016.3, 2017.1          | [mysql-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/mysql-2016_3.sql) | [mysql-2016\_2-to-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/mysql-2016_2-to-2016_3.sql) |
| 2016.2                  | [mysql-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/mysql-2016_2.sql) | [mysql-4\_6-to-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/mysql-4_6-to-2016_2.sql)       |
| 4.6 to 4.10, 2016.2     | [mysql-4\_6.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.6/mysql-4_6.sql)          | [mysql-4\_5-to-4\_6.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.6/mysql-4_5-to-4_6.sql)                |
| 4.5                     | [mysql-4\_5.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.5/mysql-4_5.sql)          | [mysql-4\_4-to-4\_5.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.5/mysql-4_4-to-4_5.sql)                |
| 4.4                     | [mysql-4\_4.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.4/mysql-4_4.sql)          | [mysql-4\_3-to-4\_4.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.4/mysql-4_3-to-4_4.sql)                |
| 4.3                     | [mysql-4\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.3/mysql-4_3.sql)          | -                                                                                                                                                                                          |

### SQL Server

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                                    | DDL to upgrade from previous format                                                                                                                                                                |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2019.1 to 2021.1        | [sqlserver-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/sqlserver-2019_1.sql) | [sqlserver-2017\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/sqlserver-2017_2-to-2019_1.sql) |
| 2017.2                  | [sqlserver-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/sqlserver-2017_2.sql) | [sqlserver-2016\_3-to-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/sqlserver-2016_3-to-2017_2.sql) |
| 2016.3 to 2017.1        | [sqlserver-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/sqlserver-2016_3.sql) | [sqlserver-2016\_2-to-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/sqlserver-2016_2-to-2016_3.sql) |
| 2016.2                  | [sqlserver-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/sqlserver-2016_2.sql) | [sqlserver-4\_6-to-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/sqlserver-4_6-to-2016_2.sql)       |
| 4.6 to 2016.1           | [sqlserver-4\_6.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.6/sqlserver-4_6.sql)          | -                                                                                                                                                                                                  |

### PostgreSQL

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                                      | DDL to upgrade from previous format                                                                                                                                                                  |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2019.1 to 2021.1        | [postgresql-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/postgresql-2019_1.sql) | [postgresql-2018\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/postgresql-2018_2-to-2019_1.sql) |
| 2018.2                  | [postgresql-2018\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2018.2/postgresql-2018_2.sql) | [postgresql-2017\_2-to-2018\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2018.2/postgresql-2017_2-to-2018_2.sql) |
| 2017.2, 2018.1          | [postgresql-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/postgresql-2017_2.sql) | [postgresql-2016\_3-to-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/postgresql-2016_3-to-2017_2.sql) |
| 2016.3 to 2017.1        | [postgresql-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/postgresql-2016_3.sql) | [postgresql-2016\_2-to-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3postgresql-2016_2-to-2016_3.sql)  |
| 2016.2                  | [postgresql-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/postgresql-2016_2.sql) | [postgresql-4\_8-to-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/postgresql-4_8-to-2016_2.sql)       |
| 4.8 to 2016.1           | [postgresql-4\_8.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.8/postgresql-4_8.sql)          | -                                                                                                                                                                                                    |

### DB2

| Orbeon Forms version(s) | DDL to create from scratch                                                                                                                                        | DDL to upgrade from previous format                                                                                                                                                    |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2019.1 to 2021.1        | [db2-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/db2-2019_1.sql) | [db2-2017\_2-to-2019\_1.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2019.1/db2-2017_2-to-2019_1.sql) |
| 2017.2 to 2018.2        | [db2-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/db2-2017_2.sql) | [db2-2016\_3-to-2017\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2017.2/db2-2016_3-to-2017_2.sql) |
| 2016.3 to 2017.1        | [db2-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/db2-2016_3.sql) | [db2-2016\_2-to-2016\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.3/db2-2016_2-to-2016_3.sql) |
| 2016.2                  | [db2-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/db2-2016_2.sql) | [db2-4\_6-to-2016\_2.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/2016.2/db2-4_6-to-2016_2.sql)       |
| 4.6 to 2016.1           | [db2-4\_6.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.6/db2-4_6.sql)          | [db2-4\_4-to-4\_6.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.6/db2-4_4-to-4_6.sql)                |
| 4.4 to 4.5              | [db2-4\_4.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.4/db2-4_4.sql)          | [db2-4\_3-to-4\_4.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.4/db2-4_3-to-4_4.sql)                |
| 4.3                     | [db2-4\_3.sql](https://github.com/orbeon/orbeon-forms/blob/master/form-runner/jvm/src/main/resources/apps/fr/persistence/relational/ddl/4.3/db2-4_3.sql)          | -                                                                                                                                                                                      |

## See also

* [Database support](https://doc.orbeon.com/form-runner/persistence/db-support)
* [Using Form Runner with a relational database](https://doc.orbeon.com/form-runner/persistence/relational-db)
* [Custom persistence providers](https://doc.orbeon.com/form-runner/api/persistence/custom-persistence-providers)
* [Search API](https://doc.orbeon.com/form-runner/api/persistence/search)
* [Lease feature](https://doc.orbeon.com/form-runner/features/lease)
* [Organization-based permissions](https://doc.orbeon.com/form-runner/access-control/organization)
* [Release History](https://doc.orbeon.com/release-history)
