> ## 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: cómo conectar a PostgreSQL (Java, .pk8)

# Cómo conectar a PostgreSQL con JDBC en Square Cloud

Este tutorial te guiará por los pasos para conectarte a una base de datos PostgreSQL usando JDBC (Java Database Connectivity). JDBC es una API de Java que permite conectar y ejecutar consultas en bases de datos.

## Requisitos previos

Antes de empezar, asegúrate de haber creado una base de datos en Square Cloud y de haberte conectado a algún cliente de gestión, como DBeaver, para efectuar la creación de tu estructura de datos.

![Creando una base de datos PostgreSQL en Square Cloud](https://storage.crisp.chat/users/helpdesk/website/-/d/a/4/9/da49f867735c6000/download_15pparp.gif)

## Pasos para conectar a PostgreSQL con JDBC

### 1. Obtén los detalles de conexión de tu PostgreSQL

Para conectar tu aplicación Java a la base de datos PostgreSQL, necesitas obtener tus credenciales de acceso:
*   **String de conexión**: La URL utilizada para conectarte a tu base de datos PostgreSQL.
*   **Certificados**: Los archivos `.crt` y `.key`.

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

Puedes encontrar estos detalles en el panel de Square Cloud, en la sección **Databases**. Haz clic en tu base de datos PostgreSQL para visualizar los detalles y, a continuación, accede a la pestaña **Configuration** para encontrar la string de conexión.
*Nota: Si no copiaste la contraseña en el momento en que creaste la base, necesitarás regenerar la contraseña en el panel y pegarla en la URL.*

### 2. Crea el archivo .pk8

El driver JDBC exige que el certificado de clave SSL esté en un formato específico: un archivo `.pk8`. Puedes crear este archivo utilizando la utilidad OpenSSL.

Para convertir el archivo `.key` descargado del panel al formato `.pk8`, ejecuta el siguiente comando en tu terminal:
```bash
openssl pkcs8 -topk8 -inform PEM -in path/to/private-key.key -outform DER -out path/to/create/private-key.pk8 -nocrypt
```

Recuerda sustituir `path/to/private-key.key` y `path/to/create/private-key.pk8` por las rutas reales de tu sistema. Guarda el archivo `private-key.pk8` generado en una carpeta junto con los otros certificados necesarios (por ejemplo, en una carpeta llamada `certs`).

### 3. Actualiza la DATABASE_URL

Por último, debes actualizar tu archivo `.env` para incluir la string de conexión y la configuración SSL recién creada.

En tu proyecto Java, localiza el archivo `.env` y actualiza la variable `DATABASE_URL` con tu string de conexión PostgreSQL. Asegúrate de incluir la configuración SSL apuntando a los certificados. La estructura final debe parecerse a esto:
```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"
```