PostgreSQL

PostgreSQL es una base de datos gratuita que se niega a guardar cualquier cosa que no tenga sentido, y por eso se elige cuando los números tienen que salir bien.

También conocido como Postgres base de datos PostgreSQL base de datos libre

Definición

PostgreSQL, que casi todo el mundo acorta a Postgres, guarda la información de un sistema en tablas, igual que MySQL y el resto de la familia. Es gratuito y de código abierto, así que cualquier empresa puede usarlo sin pagar. La diferencia está en el carácter, porque Postgres es estricto con lo que acepta, y esa dureza es justo lo que se busca en él.

Pídele que guarde el treinta y uno de febrero y no meterá nada parecido, porque se para y dice que no. Dale un nombre más largo de lo que permite la columna y también lo rechaza, en vez de cortar en silencio las últimas letras. Las bases antiguas aceptaban las dos cosas sin decir nada, así que la tienda se enteraba cuando llegaba una dirección de reparto partida por la mitad. Ese primer no molesta, pero es lo que quieres el tercer año, cuando las cuentas tienen que cuadrar.

Postgres hace además varios trabajos que si no necesitarían programas aparte. Responde preguntas pesadas sobre millones de filas, como las ventas del año pasado por tienda, por mes y por producto, mientras el negocio sigue atendiendo. Mide distancias en un mapa, y así el sistema sabe qué sucursal está más cerca de un cliente. También guarda registros sueltos junto a las tablas ordenadas, algo útil cuando un tipo de producto tiene campos que los demás no tienen. Un sistema puede por tanto cambiar de forma sin cambiar de base de datos, y cambiar de base más tarde es de lo más caro que hace un proyecto.

Aquí está la parte que casi nadie cuenta. Cuando Postgres modifica o borra una fila guarda la versión antigua hasta que pasa un trabajo de limpieza, así que el espacio no vuelve enseguida. Por eso, en una tabla muy movida, el fichero del disco puede crecer mientras el número de filas baja. La limpieza normalmente se ejecuta sola, pero cuando se retrasa, un disco se llena un domingo tranquilo y la web se para. Pregunta entonces quién vigila eso y cómo se enteraría.

La pega sincera es el dinero, porque el alojamiento compartido barato casi siempre trae MySQL y muchas veces no trae Postgres. Elegirlo puede significar por tanto pagar un servidor de verdad, como en Hostrena. Linkysoft elige Postgres cuando un sistema cuenta dinero, o cuando los informes pesan tanto como la pantalla del día a día. Eso incluye la contabilidad, el stock repartido entre varias tiendas y todo aquello donde una cifra mal puesta es una pérdida real. Para una web pequeña de reservas no compensa ese alquiler extra. En cualquier caso, pregunta qué base de datos usará tu aplicación web y por qué, porque una buena respuesta, de Linkysoft o de quien sea, cabe en una frase.

Preguntas sobre PostgreSQL

¿PostgreSQL es mejor que MySQL?
Mejor no, más estricto. Postgres rechaza datos que no tienen sentido y se maneja bien con informes pesados. MySQL sale más barato de alojar y es más fácil contratar. Elige según lo que hace de verdad tu sistema.
¿PostgreSQL es gratis para una empresa?
Sí. Su licencia permite que cualquier empresa lo use sin coste y sin pagar por usuario. Pagas el servidor donde funciona y a quien lo cuida.
¿PostgreSQL puede guardar documentos JSON?
Sí, en la misma base que las tablas normales. Sirve cuando un tipo de registro tiene campos que los demás no tienen, y evita mantener una segunda base al lado.
¿Hace falta un servidor especial para PostgreSQL?
Normalmente sí. La mayoría del alojamiento compartido barato solo ofrece MySQL, así que Postgres suele implicar un servidor virtual o una base gestionada, con su coste mensual.
¿Qué es la limpieza en PostgreSQL y debe preocuparme?
Es la tarea de mantenimiento que recupera el espacio que dejan las filas modificadas o borradas. Se ejecuta sola. Solo tienes que preocuparte lo justo para preguntar quién comprueba que va al día, porque si se atrasa el disco se llena.

¿Sigue sin ver cómo se aplica esto a su proyecto?

Cuéntenos qué está construyendo y le responderemos en lenguaje claro.