# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.orbeon.com/form-runner/persistence/relational-db-schema.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
