---
title: "Preparing a database for installation of Amplia Reg"
description: "How to prepare a SQL Server or PostgreSQL database and connection string for on-premises Amplia Reg, including collation and db_owner requirements."
canonical: "https://docs.lacunasoftware.com/en-us/articles/amplia-reg/on-premises/prepare-database"
locale: "en"
product: "Amplia Reg"
last_updated: "2026-10-12"
---

# Preparing a database for installation of Amplia Reg

In order to install a [on-premises installation](https://docs.lacunasoftware.com/en-us/articles/amplia-reg/on-premises) of [Amplia Reg](https://docs.lacunasoftware.com/en-us/articles/amplia-reg), you will need a connection string for one of the following database engines:

* [SQL Server](https://docs.lacunasoftware.com/en-us/articles/amplia-reg/on-premises/prepare-database#sql-server)
* [PostgreSQL](https://docs.lacunasoftware.com/en-us/articles/amplia-reg/on-premises/prepare-database#postgres)

## SQL Server

To use SQL Server, you will need a database having:

* Collation: `Latin1_General_100_CI_AI` or `Latin1_General_CI_AI`
* Credentials corresponding to a user with `db_owner` role

> **Note**
>
> If you prefer to run Amplia Reg without granting `db_owner` to the application user, see [this article](https://docs.lacunasoftware.com/en-us/articles/amplia-reg/on-premises/unprivileged-db-user)

> **Warning**
>
> The collation of the database **must** be one of the collations specified above. Creating the database with a different collation will likely cause the installation to fail!

If you need help preparing the database, follow the steps in this article.

> **Note**
>
> You do not need to follow these specific instructions. If you wish to prepare the database differently, for instance using advanced
> features such as log shipping or mirroring, you may do so, as long as the collation and role memberships are observed.

To create the database, use the following T-SQL query (optionally changing the database name):

```sql
USE master;
CREATE DATABASE AmpliaReg COLLATE Latin1_General_100_CI_AI;
GO
```

Create a user and grant it the `db_owner` role:

```sql
USE master;
CREATE LOGIN AmpliaRegAdm WITH PASSWORD = 'XXXXX';
GO

USE AmpliaReg;
CREATE USER AmpliaRegAdm FOR LOGIN AmpliaRegAdm;
EXEC sp_addrolemember 'db_owner', 'AmpliaRegAdm';
GO
```

The connection string would then be:

```text
Data Source=.;Initial Catalog=AmpliaReg;User ID=AmpliaRegAdm;Password=XXXXX
```

> **Note**
>
> This connection string assumes the database server is installed on the same server as the web app. If this is not true,
> the value after `Data Source=` would have to be changed.

## PostgreSQL

Starting on [version 1.6.0](https://docs.lacunasoftware.com/en-us/articles/amplia-reg/changelog) of Amplia Reg, PostgreSQL is also supported. Any version currently supported of PostgreSQL
is also supported ([which at the moment means version 11 or greater](https://www.postgresql.org/support/versioning/)).

Start by creating the database and a user for the application (optionally changing the names of the database and user):

```text
postgres=# CREATE DATABASE ampliareg;
CREATE DATABASE
postgres=# CREATE USER ampliareg WITH PASSWORD 'XXXXX';
CREATE ROLE
```

Next, connect to the newly created database and set the permissions for the `public` schema:

```text
postgres=# \connect ampliareg
You are now connected to database "ampliareg" as user "postgres".
ampliareg=# REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE
ampliareg=# GRANT ALL ON SCHEMA public TO ampliareg;
GRANT
ampliareg=# CREATE SCHEMA hangfire;
CREATE
ampliareg=# GRANT ALL ON SCHEMA hangfire TO ampliareg;
GRANT
```

> **Note**
>
> For now, only using a user with full schema access is supported. Please contact us if you need to run Amplia Reg with less privileges.

The connection string would then be (assuming you didn't change the database and user names):

```text
Host=localhost;Database=ampliareg;Username=ampliareg;Password=XXXXX
```

> **Note**
>
> This connection string assumes the database server is installed on the same server as the web app. If this is not true,
> the value after `Host=` would have to be changed.

## See also

* [Running Amplia Reg without db_owner privileges](https://docs.lacunasoftware.com/en-us/articles/amplia-reg/on-premises/unprivileged-db-user)
