Tecnología

Mi base de datos favorita

By David Sanchez

Resumen

Sí, tengo una base de datos favorita y PostgreSQL suele ser una de las primeras opciones que considero en un proyecto. Su extensibilidad, comunidad y adopción en distintas aplicaciones la convierten en una de mis tecnologías preferidas. En este artículo te cuento por qué PostgreSQL es mi base de datos favorita y por qué parece que no soy el único que piensa así.

Existen muchas bases de datos y cada una resuelve necesidades particulares. La elección depende del negocio, la experiencia del equipo con la tecnología y los requisitos del proyecto.

Sin embargo, hay una base de datos que se ha ganado el corazón de muchos desarrolladores, incluido el mío. PostgreSQL puede resolver una gran variedad de necesidades de negocio, cuenta con integraciones para distintos ecosistemas y aparece entre las bases de datos más utilizadas según la encuesta de Stack Overflow Developer Survey.

PostgreSQL destaca por su versatilidad. Puedes usarla en proyectos pequeños mientras aprendes desarrollo, pero también puedes llevarla a sistemas con necesidades más complejas. Su ecosistema ofrece herramientas para trabajar con distintos tipos de datos y conectar aplicaciones construidas con diferentes tecnologías.

En este artículo te cuento por qué PostgreSQL se ha convertido en una de mis bases de datos favoritas y qué características la hacen una opción tan completa para el desarrollo de software.

¿Qué es PostgreSQL?

Antes de empezar, definamos qué es PostgreSQL.

PostgreSQL es una base de datos relacional de código abierto, considerada una de las bases de datos más avanzadas del mundo. Está disponible en los principales proveedores de servicios en la nube y plataformas de hosting 1.

Además, PostgreSQL lleva más de tres décadas en desarrollo. El proyecto comenzó en 1986 en la Universidad de California, Berkeley, y la comunidad continúa desarrollándolo bajo un modelo abierto.

¿Por qué importa que sea de código abierto?

Cuando eliges PostgreSQL, no dependes de una empresa que controle el acceso al código fuente o que defina por sí sola las condiciones de uso del motor. Una comunidad global de desarrolladores mantiene el proyecto, revisa cambios y desarrolla nuevas versiones.

Para ti, esto tiene consecuencias prácticas. Puedes instalar PostgreSQL en tu propio servidor, ejecutarlo dentro de Docker, contratarlo como servicio administrado en un proveedor cloud o usarlo durante el desarrollo local sin pagar una licencia por utilizar el motor.

PostgreSQL utiliza la licencia PostgreSQL2 , una licencia de código abierto permisiva que permite usar, modificar y distribuir el software sin pagar una licencia por cada aplicación o servidor.

La licencia también permite que empresas construyan productos y servicios sobre PostgreSQL sin tener que convertir el proyecto en software propietario.

Ventajas

PostgreSQL tiene muchas ventajas y por eso suelo priorizar su uso frente a otras bases de datos. Que sea una base de datos relacional y de código abierto representa una de sus mayores fortalezas, pero PostgreSQL ofrece mucho más.

Una de sus características más importantes es su extensibilidad. PostgreSQL cuenta con una gran variedad de extensiones que permiten adaptar el motor a necesidades específicas. Puedes agregar soporte para datos vectoriales y utilizar PostgreSQL como base de datos para aplicaciones de inteligencia artificial y embeddings. También puedes trabajar con JSON, crear APIs REST y añadir otras capacidades mediante extensiones.

Además, PostgreSQL resulta fácil de administrar y utiliza SQL, un lenguaje ampliamente conocido en el desarrollo de aplicaciones. Su modelo relacional cubre las necesidades de una gran variedad de negocios y sus extensiones permiten ampliar sus capacidades cuando el proyecto lo requiere.

Por eso puedes utilizar PostgreSQL como solución principal en muchos proyectos y, en determinados escenarios, evitar incorporar otro motor para resolver una necesidad específica.

PostgreSQL tambien cuenta con un ecosistema amplio de aplicaciones que la utilizan como base de datos principal. En este portafolio, por ejemplo, dos de las aplicaciones que utilizo, Strapi y Umami, ofrecen soporte para PostgreSQL y la recomiendan como una de sus opciones principales.

Si revisas muchas de las aplicaciones disponibles para autoalojamiento, encontrarás el mismo patrón. Herramientas para CMS, analítica, automatización y gestión de servicios suelen ofrecer soporte para PostgreSQL, lo que facilita integrarla en una infraestructura donde ya utilizas otras aplicaciones.

El código abierto representa una de sus grandes ventajas. Cualquier desarrollador puede consultar el código fuente, estudiarlo, modificarlo y distribuir versiones modificadas bajo los términos de su licencia.

Extensiones recomendadas

PostgreSQL tiene un catálogo enorme de extensiones que amplían las capacidades de la base de datos e incorporan funciones que, en algunos casos, pueden reemplazar herramientas independientes. Estas son algunas de las extensiones que considero útiles para distintos tipos de proyectos.

PostgREST

PostgREST es un servidor web independiente que convierte una base de datos PostgreSQL en una API RESTful. Las restricciones estructurales y los permisos definidos en la base de datos determinan los endpoints y las operaciones disponibles. Para un MVP, PostgREST puede ahorrarte bastante trabajo. Puedes construir una API sin desarrollar un backend tradicional ni incorporar un ORM. La propia base de datos define gran parte de la lógica que controla el acceso a los datos. Esto no significa que debas utilizarlo para cualquier proyecto. Cuando el sistema crece, debes evaluar aspectos como seguridad, reglas de negocio, autenticación, autorización, validaciones y otras responsabilidades que suelen vivir en un backend dedicado. Para una demostración rápida, un prototipo o un frontend que necesita acceder a datos mediante una API, PostgREST resulta una opción muy atractiva.

Mira la extensión

pgvector

pgvector añade búsqueda de similitud de vectores a PostgreSQL y permite almacenar embeddings junto con el resto de los datos de tu aplicación. Con el crecimiento de las aplicaciones basadas en inteligencia artificial, los embeddings y las búsquedas vectoriales han ganado espacio en muchos proyectos. También han aparecido herramientas especializadas para este caso de uso, como Pinecone.

Estas plataformas ofrecen características específicas para trabajar con datos vectoriales, además de interfaces, paneles y métricas que pueden facilitar su administración. Sin embargo, también puedes almacenar tus vectores directamente en PostgreSQL con pgvector.

Esta opción puede simplificar la arquitectura de tu aplicación. Puedes mantener los datos relacionales, los embeddings y las consultas vectoriales en el mismo motor, sin añadir otro servicio a tu infraestructura. Para proyectos pequeños o medianos, esa decisión puede reducir costos y facilitar la gestión de los datos.

Mira la extensión

pg_cron

pg_cron es un programador de tareas basado en cron que se ejecuta dentro de PostgreSQL como una extensión. Permite programar y ejecutar tareas directamente desde la base de datos. Puedes utilizarlo para ejecutar consultas, procedimientos almacenados y otras operaciones en horarios definidos. Existen muchas herramientas que resuelven el mismo problema. Si tienes un VPS, por ejemplo, Linux incluye herramientas para programar tareas y plataformas como Coolify también pueden ejecutar procesos programados.

pg_cron tiene una ventaja cuando la tarea pertenece directamente a la base de datos: puedes ejecutarla desde PostgreSQL sin añadir otro servicio ni pasar por un backend, un ORM o un lenguaje de programación.

Para tareas como limpiar registros antiguos, actualizar datos, ejecutar procesos de mantenimiento o generar información periódica, puedes mantener toda la operación dentro de PostgreSQL y definirla con SQL.

Mira la extensión

pgcrypto

El módulo pgcrypto proporciona funciones criptográficas para PostgreSQL. Entre otras capacidades, permite trabajar con funciones de hash, generación de datos aleatorios y cifrado directamente desde la base de datos.

Proteger los datos representa una parte importante del diseño de cualquier sistema que almacene información sensible. Puedes implementar estas operaciones desde el lenguaje de programación de tu aplicación, pero PostgreSQL también permite ejecutarlas dentro del propio motor.

Esta posibilidad resulta útil cuando necesitas aplicar una operación criptográfica como parte de una consulta, una función o un procedimiento almacenado. El caso de uso depende de la arquitectura y de los requisitos del negocio, pero pgcrypto ofrece otra herramienta para decidir dónde quieres ejecutar estas operaciones.

Mira la extensión

Adopción de Postgres

PostgreSQL ha ganado terreno entre los desarrolladores y hoy ocupa el primer lugar en varias métricas de la Stack Overflow Developer Survey. MySQL mantuvo durante años una posición dominante entre las bases de datos más utilizadas, pero PostgreSQL ha cambiado esa tendencia.

La Stack Overflow Developer Survey no representa una verdad absoluta sobre el mercado. La encuesta recoge las respuestas de desarrolladores de distintos países y sirve como una referencia para observar qué tecnologías utilizan y cuáles quieren seguir utilizando.

Stack Overflow incluye una sección dedicada a las bases de datos. Si revisamos sus resultados a lo largo de los últimos años, podemos observar cómo PostgreSQL ha ganado popularidad frente a otras alternativas.

Vamos a recorrer esos datos para entender cómo ha evolucionado esta tendencia.

database-use-chart-01.png Datos obtenidos del histórico de la Stack Overflow Developer Survey 3

PostgreSQL tiene competidores fuertes que también cuentan con una amplia adopción en entornos de producción. Sin embargo, en 2025 ocupó el primer lugar en la Stack Overflow Developer Survey ante la pregunta:

¿En qué entornos de bases de datos ha realizado un trabajo de desarrollo extenso durante el último año y en cuáles le gustaría trabajar durante el próximo año?

Base de datos mas utilizada en 2025 Datos obtenidos de de la Stack Overflow Developer Survey 2025 4

Tecnologias que lo usan

Al inicio mencioné que varias aplicaciones utilizan PostgreSQL como base de datos predeterminada o como una de sus opciones recomendadas. El ecosistema ofrece muchos ejemplos, especialmente entre proyectos de código abierto.

En esta sección quiero mostrarte algunas herramientas con las que he trabajado y que incluyen PostgreSQL entre sus opciones recomendadas.

Strapi

Strapi es un CMS de código abierto y la herramienta que utilizo para gestionar el contenido de este sitio web. Strapi ofrece soporte para PostgreSQL, MySQL y SQLite, pero PostgreSQL resulta una opción especialmente adecuada para entornos de producción por su extensibilidad, comunidad y ecosistema.

SQLite puede funcionar muy bien durante el desarrollo y las pruebas. Para una instalación de producción, prefiero PostgreSQL cuando el proyecto necesita una base de datos con un ecosistema más amplio y mayores posibilidades de crecimiento.

n8n

n8n es una plataforma de código abierto para automatizar flujos de trabajo. PostgreSQL forma parte de sus opciones de almacenamiento y permite trabajar con los datos que generan los workflows.

Un ejemplo interesante aparece con JSONB, un tipo de dato de PostgreSQL que n8n puede utilizar para almacenar información estructurada como los datos de los flujos. La aplicación puede aprovechar las capacidades nativas de PostgreSQL sin incorporar otra herramienta para manejar este tipo de información.

Supabase

Supabase es un BaaS (Backend-as-a-Service) construido sobre PostgreSQL. La plataforma aprovecha varias capacidades del motor y permite utilizar extensiones como pgvector para implementar funcionalidades relacionadas con inteligencia artificial y búsquedas vectoriales.

Supabase muestra cómo PostgreSQL puede funcionar como la base de datos de una plataforma completa y, al mismo tiempo, servir como punto de partida para añadir capacidades especializadas mediante extensiones.

Umami

Umami es una alternativa de código abierto a Google Analytics que utiliza PostgreSQL como base de datos. También permite integrar Redis para gestionar la caché.

En este caso, PostgreSQL almacena los datos de analítica mientras Redis complementa la arquitectura con una capa de caché. Esta combinación permite separar las responsabilidades de almacenamiento y rendimiento sin cambiar el motor principal de la aplicación.

¿Es la solución perfecta?

Claro que no. No existen soluciones perfectas. Cada tecnología tiene un propósito, unas ventajas y unas limitaciones en su implementación, sus costos y su alcance. Por eso, ninguna solución puede abarcar todos los casos de uso.

Aquí no entré en detalles técnicos de instalación, querys ni en su uso particular. Es más una opinión personal y una explicación de por qué le tengo cariño a una tecnología. Cada caso de uso es particular, y que le tenga cariño no nubla mi visión frente a otras alternativas según sea el caso.

No existen soluciones definitivas ni camisas de fuerza en desarrollo. Esa es una de las ventajas: la oportunidad de escoger diferentes enfoques para una misma solución brinda la versatilidad que solo el desarrollo de software puede ofrecer.

Es una libertad que no está condicionada a una única solución, sino a múltiples interpretaciones, factores y eventos que determinan el uso, no solo de una base de datos, sino de diferentes ecosistemas de programación.

Footnotes

  1. Tomado de: https://cloud.google.com/discover/what-is-postgresql

  2. Tomado de: https://www.postgresql.org/about/licence/

  3. Tomado de: https://survey.stackoverflow.co/

  4. Tomado de: https://survey.stackoverflow.co/2025/technology

¿Te ha inspirado una idea?
Mis artículos son solo el comienzo. Si mis reflexiones resuenan contigo y crees que podemos construir algo increíble juntos, me encantaría escucharte. Contáctame