Artículos sobre: Bases de datos & almacenamiento
Este artículo también está disponible en:

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


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


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:

openssl pkcs8 -topk8 -inform PEM -in ruta/al/private-key.key -outform DER -out ruta/de/salida/private-key.pk8 -nocrypt


Recuerda sustituir ruta/al/private-key.key y ruta/de/salida/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


Java no lee el .env por sí solo. Define DATABASE_URL en Configuraciones > Variables de Entorno de la aplicación, léela con System.getenv("DATABASE_URL") e incluye la carpeta certs en el zip del deploy. JDBC no acepta usuario:contraseña@host: pasa usuario y contraseña como parámetros. El ca-certificate.crt descargado sirve como raíz y como certificado del cliente, y la clave private-key.key convertida pasa a ser el .pk8. La estructura final debe parecerse a esto:

DATABASE_URL="jdbc:postgresql://HOST:PORT/DATABASE?user=squarecloud&password=CONTRASENA&sslmode=require&sslrootcert=certs/ca-certificate.crt&sslcert=certs/ca-certificate.crt&sslkey=certs/private-key.pk8"

Actualizado el: 04/10/2026

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!