馃悩 Respaldos con Estilo: ¡PostgreSQL no llora, hace backups!
馃悙 Respaldos con Estilo: ¡PostgreSQL no llora, hace backups!
¿Apoco no te ha pasado, plebes desarrolladores, que de repente andas bien quitado de la pena, programando sabroso, y de la nada: ¡pum! se cae la base de datos! 馃槺
Y ah铆 andas t煤, como si fueras el Comandante Ramiro, buscando a los perdidos: pg_dump, pg_restore, y todos los santos comandos que ni los mismos dioses de PostgreSQL entienden.
¡Ya estuvo bueno de eso!
Hoy les vengo a presentar un proyecto que est谩 m谩s chilo que una carne asada en la playa de Altata: psql-backup, una librer铆a PHP bien perrona para hacer respaldos y restauraciones de PostgreSQL sin hacerte bolas con la terminal.
馃棴 Tabla de Contenidos
- ¿Qu茅 es
psql-backup? - Caracter铆sticas principales
- Instalaci贸n v铆a Composer
- ¿C贸mo se usa?
- Detalles t茅cnicos
- Descarga y restauraci贸n
- Licencia
馃摝 ¿Qu茅 es psql-backup?
Es una librer铆a PHP escrita por julio101290 (alias: "el que respalda y no se raja") que permite realizar respaldos y restauraciones de bases de datos PostgreSQL, todo desde PHP. Tambi茅n incluye detecci贸n autom谩tica de si tienes o no el comando pg_dump instalado. Si no lo tienes, pues no pasa nada: ¡el respaldo se hace a puro PHP!
✨ Caracter铆sticas principales
- Respaldo usando
pg_dump(si est谩 disponible) - Modo alternativo 100% PHP (sin necesidad del binario)
- Compresi贸n ZIP opcional solo para PostgreSQL
- Clase
PostgreSQLBackuplista para usar - Compatible con proyectos CodeIgniter 4
- Soporte multibase de datos: MariaDB y PostgreSQL
⚙️ Instalaci贸n v铆a Composer
Agrega el paquete a tu proyecto:
composer require julio101290/psql-backup
Luego importa la clase donde la vayas a usar:
use PostgresqlBackupManager\PostgreSQLBackup;
馃殌 ¿C贸mo se usa?
F谩cil como el ceviche sinaloense. Aqu铆 un ejemplo para respaldar:
\$pdo = new PDO("pgsql:host=localhost;port=5432;dbname=tu_basedatos", "usuario", "contrasena");
\$backup = new PostgreSQLBackup(\$pdo);
\$backup->backup("/ruta/a/backup.sql", true); // true para usar ZIP
Y para restaurar:
\$backup->restore("/ruta/a/backup.zip");
馃搩 Detalles t茅cnicos
- El archivo ZIP contiene el .sql plano.
- Se descomprime autom谩ticamente al restaurar.
- Las sentencias SQL se separan de forma segura por punto y coma.
- Control de transacciones usando
beginTransactionycommit.
馃摜 Descarga y Restauraci贸n
Incluye un m茅todo en CodeIgniter para que descargues el respaldo, y si es PostgreSQL, lo ofrece en .zip. Ejemplo:
public function downloadBackup(\$uuid) {
// Obtener info desde la BD
\$dataBackup = \$this->backups->select("SQLFile,created_at")
->where("uuid", \$uuid)->first();
\$sqlPath = \$dataBackup["SQLFile"];
if (pathinfo(\$sqlPath, PATHINFO_EXTENSION) === 'zip') {
return $this->response
->download(\$sqlPath, null)
->setFileName("backup.zip");
}
return $this->response
->download(\$sqlPath, null)
->setFileName("backup.sql");
}
馃搫 Licencia
Este paquete est谩 bajo licencia MIT. Puedes hacerle lo que gustes: clonarlo, modificarlo, hacerle una carnita asada, o incluso presumirlo en el caf茅 Internet.
¡Contribuciones bienvenidas! Si encuentras errores o quieres agregar funciones nuevas, j谩late con un pull request.
✨ Final Feliz
En Sinaloa hacemos bien las cosas, y este paquete es prueba de ello. ¡Haz tus respaldos como todo un profesional y deja de sufrir como mariachi sin tequila!
¡Saluditos de parte del buen julio101920!


Comentarios
Publicar un comentario