{"id":20491640,"url":"https://github.com/dalibo/emaj","last_synced_at":"2026-01-25T09:35:45.905Z","repository":{"id":4936479,"uuid":"6093306","full_name":"dalibo/emaj","owner":"dalibo","description":"E-Maj is a PostgreSQL extension that tracks updates on tables sets with rollback capabilities","archived":false,"fork":false,"pushed_at":"2026-01-13T09:00:18.000Z","size":36803,"stargazers_count":90,"open_issues_count":1,"forks_count":9,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-01-13T11:34:08.722Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PLpgSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"yandex/yandex-tank","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dalibo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","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":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-10-05T16:38:56.000Z","updated_at":"2026-01-13T09:00:22.000Z","dependencies_parsed_at":"2024-01-03T09:58:50.172Z","dependency_job_id":"05232a2d-d3be-4ae9-b209-afcadb715db6","html_url":"https://github.com/dalibo/emaj","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/dalibo/emaj","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalibo%2Femaj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalibo%2Femaj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalibo%2Femaj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalibo%2Femaj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dalibo","download_url":"https://codeload.github.com/dalibo/emaj/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalibo%2Femaj/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28750875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T09:00:19.176Z","status":"ssl_error","status_checked_at":"2026-01-25T09:00:04.131Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-15T17:25:17.872Z","updated_at":"2026-01-25T09:35:45.870Z","avatar_url":"https://github.com/dalibo.png","language":"PLpgSQL","funding_links":[],"categories":["PLpgSQL"],"sub_categories":[],"readme":"E-Maj\n=====\n\nE-Maj: logs and rollbacks tables content changes\n\nVersion: \u003cdevel\u003e\n\n\nLicense\n-------\n\nThis software is distributed under the GNU General Public License.\n\n\nObjectives\n----------\n\nThe main goals of E-Maj are:\n\n * log tables changes (Inserts, Updates, Deletes, Truncates) performed on one or several sets of tables;\n * efficiently cancel these changes if needed, and reset a tables set to a predefined stable state.\n\nIn development environments, it brings a good help in testing application, providing an easy way to rollback all updates generated by programs execution, and replay these processings as many times as needed.\n\nIn production environments, it brings a good solution to:\n\n * keep an history of changes performed on tables to examine them when needed;\n * set inter-batch savepoints on groups of tables;\n * easily \"restore\" this group of tables at a stable state, without being obliged to stop the cluster;\n * handle several savepoints during batch windows, each of them been usable at any time as \"restore point\".\n\nIt brings a good alternative to the management of several database disk images.\n\nIn both environments, being able to examine the history of changes performed on tables can be very helpful in debugging work or for any other purposes.\n\n\nDistribution\n------------\n\nE-Maj is available via the PGXN platform (https://pgxn.org/dist/e-maj/). The main repository is available on github (https://github.com/dalibo/emaj).\n\n\nDocumentation\n-------------\n\nA detailed documentation can be found here, in [English](https://emaj.readthedocs.io/en/latest/) and in [French](https://emaj.readthedocs.io/fr/latest/).\n\n\nHow to install and use E-Maj\n----------------------------\n\nE-Maj can be installed using the usual method for postgres extensions (ie. CREATE EXTENSION emaj CASCADE;).\n\nThe documentation contains all the [detailled information](https://emaj.readthedocs.io/en/latest/install.html) needed to install and use E-Maj.\n\n\nEmaj_web GUI\n------------\n\n**Emaj_web** is a web GUI tool that brings a user friendly E-Maj administration. It is written in PHP.\n\nThe Emaj_web client is available on [github](https://github.com/dalibo/emaj_web).\n\nIts installation and its usage are also described in the [documentation](https://emaj.readthedocs.io/en/latest/webOverview.html).\n\n\nContributing\n------------\n\nAny contribution on the project is welcome. A part of the documentation deals with [how to contribute](https://emaj.readthedocs.io/en/latest/contributing.html).\n\n\nSupport\n-------\n\nFor additional support or bug report, please create an issue on the github repository or contact Philippe Beaudoin (phb \u003cdot\u003e emaj \u003cat\u003e free \u003cdot\u003e fr).\n\nAny feedback is welcome, even to just notice you use and appreciate E-Maj ;-)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalibo%2Femaj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdalibo%2Femaj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalibo%2Femaj/lists"}