PostgreSQL — la base de datos de tu web y tu tienda online
Cada producto, pedido, contacto comercial y página que creas en 4buildsite vive en una base de datos PostgreSQL. No tienes que administrarla tú, pero merece la pena saber por qué la elegimos: integridad transaccional para los pagos, una fiabilidad demostrada durante casi 30 años y cero costes de licencia dentro de tu precio.
Qué es PostgreSQL y qué guarda de tu web
PostgreSQL es un sistema de bases de datos relacional y de código abierto, en desarrollo continuo desde 1996, con raíces en el proyecto POSTGRES de la Universidad de Berkeley (1986). En 4buildsite, PostgreSQL es el lugar donde viven los datos de tu web: los productos y el inventario, los pedidos y los pagos, los contactos que llegan por formulario y el contenido de las páginas. Tú trabajas en el editor visual; PostgreSQL conserva cada cambio a salvo.
¿Por qué te importa esto si no eres programador? Porque la diferencia entre una base de datos seria y una frágil se ve justo en los momentos difíciles: un pico de tráfico durante una promoción, un pago que se reintenta dos veces, un reinicio del servidor. PostgreSQL está diseñado para atravesar esos momentos sin perder ni corromper datos; por eso lo usan a gran escala empresas como Instagram y Reddit, y en su día sostuvo la infraestructura de Skype.
- Productos, variantes e inventario: el catálogo completo de tu tienda
- Pedidos, pagos con Stripe y facturas: el historial de ventas, sin huecos
- Contactos de los formularios: cada solicitud de presupuesto, guardada con garantía
- El contenido de las páginas y las plantillas: todo lo que editas en el editor visual
- Los dominios, los ajustes y las versiones publicadas de tu web
Pedidos y pagos sin datos corruptos: integridad ACID
Cuando un cliente hace un pedido ocurren varias cosas a la vez: baja el inventario, se crea el pedido y se registra el pago de Stripe. PostgreSQL lo ejecuta todo como una única transacción: o pasa todo, o no pasa nada. Si el pago falla a mitad de camino, el inventario vuelve automáticamente a su valor inicial. Este comportamiento se llama ACID (atomicidad, consistencia, aislamiento y durabilidad) y PostgreSQL lo garantiza en cualquier tabla, sin configuraciones especiales.
Además de las transacciones, PostgreSQL impone reglas de integridad dentro de la propia base de datos: una línea de pedido no puede referirse a un producto inexistente, un inventario no puede quedar en negativo, un correo de cuenta no puede duplicarse. Estas restricciones (claves foráneas, check, unique) frenan los datos erróneos antes de que entren, no después de que te hayan estropeado el informe de ventas.
En los marketplaces la integridad cuenta doble: las comisiones y los pagos repartidos mediante Stripe Connect se calculan a partir de los datos del pedido. Un pedido duplicado o un importe inconsistente significaría dinero mal repartido entre los vendedores. Las transacciones de PostgreSQL mantienen esos cálculos correctos, pedido a pedido.
Búsqueda rápida en el catálogo y contenido flexible
PostgreSQL incluye un motor de búsqueda de texto completo: los clientes buscan «zapatillas de running» y encuentran los productos adecuados, con diccionarios de lematización disponibles también para el español. La extensión pg_trgm añade tolerancia a las erratas. Para una tienda, esto significa que el catálogo se puede buscar bien sin un servicio aparte tipo Elasticsearch: menos componentes que puedan caerse y menores costes de infraestructura.
El contenido de las páginas creadas en el editor visual no tiene una estructura fija: un bloque hero, un formulario y una galería tienen campos distintos. PostgreSQL resuelve esto con JSONB: almacena JSON de forma nativa, indexable con índices GIN y consultable como cualquier columna. Obtienes la flexibilidad de una base de datos documental sin renunciar a la integridad relacional de pedidos y pagos, en un solo sistema y no en dos.
- tsvector y diccionarios de lematización (español incluido): búsqueda relevante en el catálogo
- pg_trgm: los clientes encuentran el producto aunque se equivoquen en una letra
- JSONB con índices GIN: los bloques de página flexibles siguen siendo rápidos de consultar
Fiabilidad: copias de seguridad, recuperación y ninguna sorpresa
PostgreSQL escribe cada cambio primero en un registro (WAL, del inglés Write-Ahead Log) y solo después en los datos propiamente dichos. Si el servidor se detiene de golpe, al reiniciar la base de datos se reconstruye a partir del registro, sin datos corruptos. Sobre ese mismo mecanismo PostgreSQL construye la recuperación a un punto en el tiempo (PITR), una capacidad estándar del motor en las instalaciones que archivan el registro WAL. En 4buildsite los datos residen en volúmenes persistentes, separados de la aplicación, así que un reinicio o una actualización de la plataforma no los toca.
PostgreSQL también admite replicación en streaming: una copia sincronizada de la base de datos, lista para asumir el tráfico cuando haga falta. Para tu web, esta fiabilidad significa páginas que responden de forma constante en lugar de errores 5xx repetidos; además, el sitemap de la plataforma incluye solo páginas indexables que devuelven un código 200.
Escalado y costes: crecer sin facturas de licencia
Cuando la tienda crece, PostgreSQL crece con ella: los índices mantienen rápidas las consultas en catálogos de cientos de miles de productos, la partición reparte el historial de pedidos por periodos y las réplicas de lectura asumen el tráfico de informes. Instagram y Reddit han escalado sobre PostgreSQL hasta cientos de millones de usuarios: una tienda online alcanza los límites de esta tecnología mucho más tarde de lo que cree.
PostgreSQL tiene licencia libre (PostgreSQL License, de tipo BSD): sin costes de licencia y sin un propietario comercial que pueda cambiar las reglas de la noche a la mañana. Las bases de datos comerciales suelen licenciarse por núcleo de procesador, y ese coste acaba inevitablemente en el precio que paga el cliente. En 4buildsite la base de datos está incluida en el plan, junto con el alojamiento y el SSL, sin ninguna tarifa aparte.
Ventajas y limitaciones
Ventajas
- Transacciones ACID completas: los pedidos y los pagos se mantienen consistentes incluso ante errores o caídas del servidor.
- Fiabilidad demostrada desde 1996, en producción en Instagram, Reddit y, en su momento, Skype.
- JSONB nativo: contenido de páginas flexible sin sacrificar la integridad relacional.
- Búsqueda de texto completo incluida, con lematización para el español: buscar en el catálogo sin un servicio aparte.
- Licencia libre: ningún coste de licencia oculto en el precio de tu plan.
- Registro WAL: ante una parada brusca del servidor, la base de datos se reconstruye al reiniciar sin datos corruptos.
Limitaciones
- La administración avanzada (ajuste fino, replicación, conmutación por error) exige experiencia: en 4buildsite la hacemos nosotros, pero autoalojada resulta exigente.
- Las escrituras van a un único nodo primario: repartirlas entre varios nodos (sharding) no es nativo y requiere herramientas adicionales.
- Cada conexión consume bastante memoria: con muchas conexiones hace falta un pool (PgBouncer).
- La búsqueda de texto completo es buena, pero queda por debajo de los motores dedicados en relevancia avanzada y sugerencias.
Veredicto breve
PostgreSQL es la elección estándar para webs, tiendas online y marketplaces en los que los pedidos, los pagos y los contactos no pueden perderse. Un blog sencillo se apañaría con menos, pero la licencia libre significa que en 4buildsite recibes igualmente este nivel de seguridad, sin coste adicional.
Tabla de especificaciones
| Capacidad | Límite / umbral | Uso habitual | |
|---|---|---|---|
| Integridad transaccional | ACID completo y MVCC, en cualquier tabla | Las transacciones muy largas mantienen recursos bloqueados | Pedidos, pagos, inventario |
| JSONB | JSON nativo, indexable con GIN | Las consultas muy complejas sobre JSON son más lentas que sobre columnas clásicas | Contenido de páginas, ajustes, atributos de producto |
| Búsqueda de texto completo | tsvector y pg_trgm, multilingüe (español incluido) | Relevancia por debajo de los motores de búsqueda dedicados | La búsqueda en el catálogo de la tienda |
| Copias de seguridad y replicación | WAL, PITR, replicación en streaming | La conmutación automática por error exige herramientas externas (por ejemplo, Patroni) | Recuperación tras incidentes, alta disponibilidad |
| Escalado | Réplicas de lectura, partición de tablas | Las escrituras siguen en el nodo primario | Catálogos e historiales de pedidos grandes |
| Coste | Código abierto, licencia libre | El coste real es la infraestructura y la administración | Incluido en los planes de 4buildsite |
PostgreSQL frente a MySQL y MongoDB
| Criterio | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| Integridad ACID | Completa, en cualquier tabla, de serie | Completa solo con el motor InnoDB | Transacciones entre documentos solo desde la v4.0, con limitaciones |
| Tipos de datos y JSON | JSONB indexable y tipos ricos (array, range) | JSON válido, indexación indirecta (columnas generadas) | Documentos BSON nativos, sin esquema impuesto |
| Búsqueda de texto completo | Incluida: tsvector, pg_trgm, lematización multilingüe | Básica (InnoDB FTS) | Básica; la variante avanzada (Atlas Search) solo en su nube comercial |
| Licencia y coste | PostgreSQL License: libre, sin propietario comercial | GPL, propiedad de Oracle (ediciones comerciales) | SSPL: ya no es una licencia de código abierto clásica |
| Ecosistema | Extensiones potentes (PostGIS, pgvector), compatible con todos los ORM | Omnipresente en el alojamiento clásico de PHP y WordPress | Fuerte en Node.js, más limitado en el resto |
| Encaje en comercio electrónico | Excelente: pedidos, inventario y pagos consistentes con garantía | Bueno: el estándar histórico (Magento, WooCommerce) | Para catálogos flexibles; la consistencia de los pedidos exige trabajo extra |
Preguntas frecuentes
¿PostgreSQL afecta a la velocidad de mi web?
No en sentido negativo. Las páginas públicas se sirven desde Next.js con caché, y las consultas indexadas de PostgreSQL responden en milisegundos. Al tamaño de una web o una tienda típicas, el frontend y las imágenes pesan mucho más en la velocidad percibida que la base de datos.
¿Por qué no WordPress con MySQL, como todo el mundo?
WordPress es un CMS en PHP con temas y plugins que hay que mantener y actualizar constantemente. 4buildsite genera webs Next.js con PostgreSQL: sin plugins que parchear y con menos brechas de seguridad. MySQL no es mala elección, pero PostgreSQL añade JSONB indexable, mejor búsqueda de texto completo e integridad más estricta, con la misma licencia libre.
¿Qué pasa con mis datos si se cae el servidor?
PostgreSQL escribe cada cambio primero en el registro WAL, así que al reiniciar la base de datos se reconstruye sin datos corruptos: una caída brusca del servidor no corrompe tus pedidos. Además, los datos residen en volúmenes persistentes, separados de la aplicación, de modo que un reinicio o una actualización de la plataforma no los toca.
¿Puedo exportar mis datos si dejo 4buildsite?
Sí. Tus datos están en PostgreSQL, un formato estándar del sector: los productos, los pedidos y los clientes pueden exportarse en formatos habituales (CSV, SQL). No hay ningún formato propietario que te ate a la plataforma.
¿Aguanta PostgreSQL si mi tienda crece?
Sí, con muchísimo margen. Instagram y Reddit han escalado sobre PostgreSQL hasta cientos de millones de usuarios usando índices, partición y réplicas de lectura, las mismas técnicas disponibles en 4buildsite. Una tienda online llega antes al límite de su propia logística que al de PostgreSQL.
¿Cuánto me cuesta la licencia de PostgreSQL?
Nada. PostgreSQL tiene licencia libre (PostgreSQL License, de tipo BSD), sin tarifas por servidor ni por núcleo. En 4buildsite la base de datos va incluida en tu plan, junto con el alojamiento y el SSL: no pagas nada aparte por ella.