DrizzleORM: cómo conectar a PostgreSQL
Cómo conectar DrizzleORM al PostgreSQL alojado en Square Cloud
Introducción
Este tutorial te guiará por los pasos para conectar tu DrizzleORM a tu base de datos PostgreSQL alojada en Square Cloud.
- Primero, necesitas tener un plan de pago activo en tu cuenta. Puedes ver nuestros planes y adquirir uno según tu necesidad aquí.
- Después, necesitarás una base de datos PostgreSQL alojada en Square Cloud. Si aún no creaste una, puedes crearla aquí.
Requisitos previos
- Antes de empezar, asegúrate de haber creado una base de datos en Square Cloud y de haberte conectado a ella con algún cliente de gestión como DBeaver u otro para crear bases y tablas.

- También será necesario tener Drizzle configurado en tu proyecto. Si aún no lo has hecho, puedes seguir la documentación oficial de DrizzleORM aquí.
Conectando Drizzle con PostgreSQL
Para conectar Drizzle a PostgreSQL, necesitarás obtener la información de conexión: la URL y los certificados.
URL de la base de datos
La URL de la base de datos que obtienes en las configuraciones de conexión proporciona usuario, contraseña, host y puerto para la conexión.
postgresql://username:password@host:port/dbname
Nota: Si no creaste una base específica, puedes usarsquarecloudcomodbname.
postgresql://username:password@host:port/squarecloud
Certificados
En las configuraciones de conexión de la base de datos, descarga el archivo certificate.pem. Usaremos ese archivo como ca, cert y key para conectar a la base.

Conectando
Para realizar la conexión, debes configurar el archivo drizzle.config.ts. En este momento puedes usar las credenciales por separado.
Configura los parámetros de conexión como en el ejemplo de abajo:
// drizzle.config.ts
import { defineConfig } from 'drizzle-kit'
import fs from "fs";
import path from "path";
const fullPath = path.join(process.cwd(), "certs/certificate.pem")
const cert = fs.readFileSync(fullPath, "utf-8")
export default defineConfig({
dialect: "postgresql",
dbCredentials: {
host: "square-cloud-db-{id}.squareweb.app",
port: 7171,
user: "squarecloud",
password: "password",
database: "squarecloud",
ssl: {
ca: cert,
key: cert,
cert: cert
}
},
schema: "path/to/schema.ts",
out: "./drizzle",
migrations: {
table: '__drizzle_migrations',
schema: 'drizzle'
}
});
También necesitas configurar el client.ts para usar los certificados de manera similar.
// client.ts
import { drizzle } from "drizzle-orm/node-postgres";
import { Pool } from "pg";
import * as schema from './schema';
import fs from "fs";
import path from "path";
const fullPath = path.join(process.cwd(), "certs/certificate.pem")
const cert = fs.readFileSync(fullPath, "utf-8")
const connection = Pool({
host: "square-cloud-db-{id}.squareweb.app",
port: 7171,
user: "squarecloud",
password: "password",
database: "squarecloud",
ssl: {
ca: cert,
key: cert,
cert: cert
}
});
export default drizzle({client: connection, schema});
Actualizado el: 13/06/2026
¡Gracias!
