---
title: "Preparando um banco de dados para instalação do Rest PKI Core"
description: "Como preparar o banco SQL Server ou PostgreSQL e a connection string para instalar o Rest PKI Core on-premises, com collation e db_owner no SQL Server."
canonical: "https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/prepare-database"
locale: "pt-BR"
product: "Rest PKI Core"
last_updated: "2026-10-12"
---

# Preparando um banco de dados para instalação do Rest PKI Core

Para instalar uma [instalação *on premises*](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises) do [Rest PKI Core](https://docs.lacunasoftware.com/articles/rest-pki/core), você precisará de uma string de conexão para um dos seguintes motores de banco de dados:

* [SQL Server](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/prepare-database#sql-server)
* [PostgreSQL](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/prepare-database#postgres)

## SQL Server

Para usar SQL Server, você precisará de um banco de dados com:

* Collation: `Latin1_General_100_CI_AI` ou `Latin1_General_CI_AI`
* Credenciais correspondentes a um usuário com a função `db_owner`

> **Observação**
>
> Se você preferir executar o Rest PKI Core sem conceder `db_owner` ao usuário da aplicação, consulte [este artigo](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/unprivileged-db-user)

> **Aviso**
>
> A collation do banco de dados **deve** ser uma das collations especificadas acima. Criar o banco de dados com uma collation diferente provavelmente causará falha na instalação!

Se você precisar de ajuda para preparar o banco de dados, siga as etapas neste artigo.

> **Observação**
>
> Você não precisa seguir estas instruções específicas. Se desejar preparar o banco de dados de forma diferente, por exemplo, usando recursos
> avançados como log shipping ou mirroring, você pode fazer isso, desde que a collation e as associações de funções sejam observadas.

Para criar o banco de dados, use a seguinte consulta T-SQL (opcionalmente alterando o nome do banco de dados):

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

Crie um usuário e conceda a ele a função `db_owner`:

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

USE RestPkiCore;
CREATE USER RestPkiCoreAdmin FOR LOGIN RestPkiCoreAdmin;
EXEC sp_addrolemember 'db_owner', 'RestPkiCoreAdmin';
GO
```

A string de conexão seria então:

```text
Data Source=.;Initial Catalog=RestPkiCore;User ID=RestPkiCoreAdmin;Password=XXXXX
```

> **Observação**
>
> Esta string de conexão supõe que o servidor de banco de dados está instalado no mesmo servidor da aplicação web. Se este não for o caso,
> o valor após `Data Source=` precisará ser alterado.

## PostgreSQL

A partir da [versão 1.12.0](https://docs.lacunasoftware.com/articles/rest-pki/core/changelog#v1-12-0) do Rest PKI Core, o PostgreSQL também é suportado. Qualquer versão atualmente suportada do PostgreSQL
também é suportada ([que atualmente significa versão 11 ou superior](https://www.postgresql.org/support/versioning/)).

Comece criando o banco de dados e um usuário para a aplicação (opcionalmente alterando os nomes do banco de dados e do usuário):

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

Em seguida, conecte-se ao banco de dados recém-criado e defina as permissões para o schema `public`:

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

> **Observação**
>
> Por enquanto, apenas o uso de um usuário com acesso total ao schema é suportado. Entre em contato conosco se precisar executar o Rest PKI Core com menos privilégios.

A string de conexão seria então (supondo que você não alterou os nomes do banco de dados e do usuário):

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

> **Observação**
>
> Esta string de conexão supõe que o servidor de banco de dados está instalado no mesmo servidor da aplicação web. Se este não for o caso,
> o valor após `Host=` precisará ser alterado.

## Veja também

* [Executando o RestPkiCore sem privilégios de db_owner](https://docs.lacunasoftware.com/articles/rest-pki/core/on-premises/unprivileged-db-user) (apenas SQL Server)
