{"id":28393311,"url":"https://github.com/julio101290/psql-backup","last_synced_at":"2026-01-20T16:45:28.919Z","repository":{"id":296470555,"uuid":"993513496","full_name":"julio101290/psql-backup","owner":"julio101290","description":"PostgreSQLBackupManager es una librería PHP para realizar respaldos y restauraciones de bases de datos PostgreSQL de manera sencilla y confiable.","archived":false,"fork":false,"pushed_at":"2025-06-02T19:14:37.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-18T02:45:23.159Z","etag":null,"topics":["codeigniter","codeigniter4","postgresql","sql"],"latest_commit_sha":null,"homepage":"https://shalom-now.blogspot.com/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julio101290.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-30T23:34:49.000Z","updated_at":"2025-06-02T19:13:19.000Z","dependencies_parsed_at":"2025-05-31T09:58:21.810Z","dependency_job_id":"0fdaf28d-44bf-4ad0-8a2a-cfdc745f5364","html_url":"https://github.com/julio101290/psql-backup","commit_stats":null,"previous_names":["julio101290/psql-backup"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/julio101290/psql-backup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julio101290%2Fpsql-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julio101290%2Fpsql-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julio101290%2Fpsql-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julio101290%2Fpsql-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julio101290","download_url":"https://codeload.github.com/julio101290/psql-backup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julio101290%2Fpsql-backup/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261777473,"owners_count":23208120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codeigniter","codeigniter4","postgresql","sql"],"created_at":"2025-05-31T16:08:37.269Z","updated_at":"2026-01-20T16:45:28.911Z","avatar_url":"https://github.com/julio101290.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐘 PostgreSQL Backup Manager\n\n[![Versión estable](https://img.shields.io/badge/versi%C3%B3n-estable-brightgreen)](https://github.com/julio101290/psql-backup/releases)\n[![Licencia MIT](https://img.shields.io/badge/Licencia-MIT-blue)](LICENSE)\n[![PHP](https://img.shields.io/badge/PHP-7.3%2B%20|%208.x-blue.svg)](https://www.php.net/)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-9.6%2B-blue.svg)](https://www.postgresql.org/)\n\n**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.\n\n---\n\n## 📚 Tabla de Contenido\n\n- [🚀 Características](#-características)\n- [🛠️ Requisitos](#️-requisitos)\n- [📦 Instalación](#-instalación)\n- [⚙️ Uso](#️-uso)\n  - [Inicialización](#inicialización)\n  - [Crear un respaldo](#crear-un-respaldo)\n  - [Restaurar un respaldo](#restaurar-un-respaldo)\n- [🔌 Ejemplo con CodeIgniter 4](#-ejemplo-con-codeigniter-4)\n- [🧪 Restauración desde archivo ZIP](#-restauración-desde-archivo-zip)\n- [🧾 Licencia](#-licencia)\n- [🙌 Agradecimientos](#-agradecimientos)\n\n---\n\n## 🚀 Características\n\n✅ Detección automática de `pg_dump`  \n✅ Soporte para exportaciones comprimidas `.zip` (solo PostgreSQL)  \n✅ Soporte completo para `PDO`  \n✅ Compatible con cualquier framework PHP (especialmente CodeIgniter 4)  \n✅ Restauración rápida y confiable\n\n---\n\n## 🛠️ Requisitos\n\n- PHP 7.3 o superior\n- Extensión `PDO` habilitada\n- PostgreSQL 9.6 o superior\n- Opcional: `pg_dump` en el sistema para respaldos más eficientes\n\n---\n\n## 📦 Instalación\n\nInstala el paquete usando Composer:\n\n```bash\ncomposer require julio101290/postgresql-backup-manager\n```\n\n---\n\n## ⚙️ Uso\n\n### Inicialización\n\n```php\nuse PostgresqlBackupManager\\PostgreSQLBackup;\n\n$pdo = new PDO(\"pgsql:host=localhost;port=5432;dbname=mi_base\", \"usuario\", \"contraseña\");\n\n$backup = new PostgreSQLBackup(\n    $pdo,\n    'mi_base',\n    'usuario',\n    'contraseña',\n    'localhost',\n    5432,\n    __DIR__ . '/backups'\n);\n```\n\n---\n\n### Crear un respaldo\n\n```php\n$archivoSQL = $backup-\u003ebackup(); // Sin compresión\n$archivoZip = $backup-\u003ebackup(true); // Con compresión ZIP\n```\n\n---\n\n### Restaurar un respaldo\n\n```php\n$backup-\u003erestore('/ruta/al/respaldo.sql');\n$backup-\u003erestore('/ruta/al/respaldo.sql.zip'); // Si está comprimido\n```\n\n---\n\n## 🔌 Ejemplo con CodeIgniter 4\n\n```php\npublic function restaurar($uuid) {\n    $info = $this-\u003ebackups-\u003ewhere('uuid', $uuid)-\u003efirst();\n\n    $config = config('Database')-\u003edefault;\n\n    $pdo = new \\PDO(\"pgsql:host={$config['hostname']};port={$config['port']};dbname={$config['database']}\",\n                    $config['username'], $config['password']);\n\n    $backup = new PostgreSQLBackup(\n        $pdo,\n        $config['database'],\n        $config['username'],\n        $config['password'],\n        $config['hostname'],\n        $config['port']\n    );\n\n    try {\n        $backup-\u003erestore($info['SQLFile']);\n        return $this-\u003erespondCreated(true, lang(\"backups.msg.restored\"));\n    } catch (Exception $e) {\n        return $this-\u003efailServerError('Error al restaurar: ' . $e-\u003egetMessage());\n    }\n}\n```\n\n---\n\n## 🧪 Restauración desde archivo ZIP\n\nSi el respaldo fue generado con compresión (`$backup-\u003ebackup(true);`), se creará un archivo `.sql.zip`. La clase `restore()` detecta automáticamente si es un `.zip` y lo descomprime para ejecutar el contenido.\n\n\u003e 📌 Asegúrate de que el archivo `.zip` solo contenga un `.sql`.\n\n---\n\n## 🧾 Licencia\n\nEste proyecto está bajo la licencia MIT. Consulta el archivo [LICENSE](LICENSE) para más detalles.\n\n---\n\n## 🙌 Agradecimientos\n\n🔧 Basado en la implementación original de [Ramazan Çetinkaya](https://github.com/ramazancetinkaya/mysql-backup)  \n🛠️ Adaptado y mejorado por [julio101290](https://github.com/julio101290)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulio101290%2Fpsql-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulio101290%2Fpsql-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulio101290%2Fpsql-backup/lists"}