> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# JDBC: como conectar ao PostgreSQL (Java, .pk8)

# Como Conectar ao PostgreSQL com JDBC na Square Cloud

Este tutorial guiará você pelas etapas para se conectar a um banco de dados PostgreSQL usando JDBC (Java Database Connectivity). O JDBC é uma API Java que permite conectar e executar consultas em bancos de dados.

## Pré-requisitos

Antes de começar, certifique-se de ter criado um banco de dados na Square Cloud e conectado a algum cliente de gerenciamento, como o DBeaver, para efetuar a criação da sua estrutura de dados.

![Criando um banco de dados PostgreSQL na Square Cloud](https://storage.crisp.chat/users/helpdesk/website/-/d/a/4/9/da49f867735c6000/download_15pparp.gif)

## Passos para conectar ao PostgreSQL com JDBC

### 1. Obtenha os detalhes de conexão do seu PostgreSQL

Para conectar sua aplicação Java ao banco de dados PostgreSQL, você precisa obter suas credenciais de acesso:
*   **String de Conexão**: A URL utilizada para se conectar ao seu banco de dados PostgreSQL.
*   **Certificado**: Os arquivos de certificado SSL para garantir conexões seguras. Você precisará dos arquivos `.crt` e `.key`.

![Baixando o certificado PEM na Square Cloud](https://storage.crisp.chat/users/helpdesk/website/-/d/a/4/9/da49f867735c6000/download_1ij5qkb.gif)

Você pode encontrar esses detalhes no painel da Square Cloud, na seção **Databases**. Clique no seu banco de dados PostgreSQL para visualizar os detalhes e, em seguida, acesse a aba **Configuration** para encontrar a string de conexão. 
*Nota: Se você não copiou a senha no momento em que criou o banco, precisará regenerar a senha no painel e colá-la na URL.*

### 2. Crie o arquivo .pk8

O driver JDBC exige que o certificado de chave SSL esteja em um formato específico: um arquivo `.pk8`. Você pode criar este arquivo utilizando o utilitário OpenSSL.

Para converter o arquivo `.key` baixado do painel para o formato `.pk8`, execute o seguinte comando no seu terminal:
```bash
openssl pkcs8 -topk8 -inform PEM -in path/to/private-key.key -outform DER -out path/to/create/private-key.pk8 -nocrypt
```

Lembre-se de substituir `path/to/private-key.key` e `path/to/create/private-key.pk8` pelos caminhos reais do seu sistema. Salve o arquivo `private-key.pk8` gerado em uma pasta junto com os outros certificados necessários (por exemplo, em uma pasta chamada `certs`).

### 3. Atualize a DATABASE_URL

Por fim, você deve atualizar o seu arquivo `.env` para incluir a string de conexão e a configuração SSL recém-criada.

No seu projeto Java, localize o arquivo `.env` e atualize a variável `DATABASE_URL` com sua string de conexão PostgreSQL. Certifique-se de incluir a configuração SSL apontando para os certificados. A estrutura final deve se parecer com isto:
```env
DATABASE_URL="jdbc:postgresql://host:port/database?sslrootcert=path/to/ca-certificate.crt&sslcert=path/to/client-certificate.crt&sslkey=path/to/private-key.pk8"
```