julio101290/postgresql-backup-manager
Composer 安装命令:
composer require julio101290/postgresql-backup-manager
包简介
Librería para respaldo y restauración de bases de datos PostgreSQL con verificación de pg_dump, adaptado por julio101920.
README 文档
README
PostgreSQL Backup Manager es una biblioteca PHP moderna para crear y restaurar respaldos de bases de datos PostgreSQL. Perfecta para entornos donde pg_dump no está disponible, pero también lo aprovecha si está presente.
📚 Tabla de Contenido
- 🚀 Características
- 🛠️ Requisitos
- 📦 Instalación
- ⚙️ Uso
- 🔌 Ejemplo con CodeIgniter 4
- 🧪 Restauración desde archivo ZIP
- 🧾 Licencia
- 🙌 Agradecimientos
🚀 Características
✅ Detección automática de pg_dump
✅ Soporte para exportaciones comprimidas .zip (solo PostgreSQL)
✅ Soporte completo para PDO
✅ Compatible con cualquier framework PHP (especialmente CodeIgniter 4)
✅ Restauración rápida y confiable
🛠️ Requisitos
- PHP 7.3 o superior
- Extensión
PDOhabilitada - PostgreSQL 9.6 o superior
- Opcional:
pg_dumpen el sistema para respaldos más eficientes
📦 Instalación
Instala el paquete usando Composer:
composer require julio101290/postgresql-backup-manager
⚙️ Uso
Inicialización
use PostgresqlBackupManager\PostgreSQLBackup; $pdo = new PDO("pgsql:host=localhost;port=5432;dbname=mi_base", "usuario", "contraseña"); $backup = new PostgreSQLBackup( $pdo, 'mi_base', 'usuario', 'contraseña', 'localhost', 5432, __DIR__ . '/backups' );
Crear un respaldo
$archivoSQL = $backup->backup(); // Sin compresión $archivoZip = $backup->backup(true); // Con compresión ZIP
Restaurar un respaldo
$backup->restore('/ruta/al/respaldo.sql'); $backup->restore('/ruta/al/respaldo.sql.zip'); // Si está comprimido
🔌 Ejemplo con CodeIgniter 4
public function restaurar($uuid) { $info = $this->backups->where('uuid', $uuid)->first(); $config = config('Database')->default; $pdo = new \PDO("pgsql:host={$config['hostname']};port={$config['port']};dbname={$config['database']}", $config['username'], $config['password']); $backup = new PostgreSQLBackup( $pdo, $config['database'], $config['username'], $config['password'], $config['hostname'], $config['port'] ); try { $backup->restore($info['SQLFile']); return $this->respondCreated(true, lang("backups.msg.restored")); } catch (Exception $e) { return $this->failServerError('Error al restaurar: ' . $e->getMessage()); } }
🧪 Restauración desde archivo ZIP
Si el respaldo fue generado con compresión ($backup->backup(true);), se creará un archivo .sql.zip. La clase restore() detecta automáticamente si es un .zip y lo descomprime para ejecutar el contenido.
📌 Asegúrate de que el archivo
.zipsolo contenga un.sql.
🧾 Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
🙌 Agradecimientos
🔧 Basado en la implementación original de Ramazan Çetinkaya
🛠️ Adaptado y mejorado por julio101290
julio101290/postgresql-backup-manager 适用场景与选型建议
julio101290/postgresql-backup-manager 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 40 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 05 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 julio101290/postgresql-backup-manager 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 julio101290/postgresql-backup-manager 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 40
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 26
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-30