Contáctanos
Webflow Premium Partner Ehab Fayez
Volver a Agent Skills
Datos y Analítica

PostgreSQL Database Management

Gestiona bases de datos PostgreSQL con consultas avanzadas, indexación y optimización del rendimiento para cargas de trabajo en producción.

Claude Code Cursor Copilot Windsurf Gemini CLI Codex

Descripción General

node-postgres (pg) es el cliente fundamental de PostgreSQL para Node.js, proporcionando tanto gestión de conexiones de bajo nivel como construcción de consultas de alto nivel. Soporta connection pooling, sentencias preparadas, consultas en streaming y el protocolo COPY para operaciones masivas de datos. La librería maneja el análisis de tipos automáticamente, convirtiendo los tipos de PostgreSQL a equivalentes de JavaScript.

Para aplicaciones modernas, node-postgres funciona perfectamente con ORMs como Prisma y Drizzle, o puede usarse directamente para un control máximo sobre las consultas SQL. Soporta transacciones con savepoints, advisory locks, LISTEN/NOTIFY para actualizaciones en tiempo real, y operaciones JSON/JSONB para datos semiestructurados. El connection pooling mediante pg-pool gestiona las conexiones a la base de datos de forma eficiente, evitando el agotamiento de conexiones bajo carga.

PostgreSQL ofrece características avanzadas que lo distinguen de otras bases de datos: búsqueda de texto completo, columnas JSONB con índices GIN, CTEs (Common Table Expressions), funciones de ventana, vistas materializadas y seguridad a nivel de fila. La librería node-postgres expone todas estas mediante consultas parametrizadas, protegiendo contra inyección SQL mientras proporciona acceso completo a las capacidades de PostgreSQL.

¿Para Quién Es?

  • Configurar connection pooling para una API Node.js en producción
  • Implementar búsqueda de texto completo con PostgreSQL tsvector
  • Gestionar migraciones de base de datos con scripts SQL versionados
  • Optimizar consultas lentas con EXPLAIN ANALYZE e índices

Instalación

Configurar Claude Code
npm install pg && npm install -D @types/pg

Configuración

import { Pool } from "pg"

const pool = new Pool({
  connectionString: process.env.DATABASE_URL,
  max: 20,
  idleTimeoutMillis: 30000,
  connectionTimeoutMillis: 2000,
})

const { rows } = await pool.query(
  "SELECT * FROM users WHERE email = $1",
  [email]
)