E-Maj 2.1.0

This Release
E-Maj 2.1.0
Date
Status
Stable
Other Releases
Abstract
E-Maj is a PostgreSQL extension which enables fine-grained write logging and time travel on subsets of the DB.
Description
Using triggers, E-Maj logs INSERT/UPDATE/DELETE executions in order to be able to look at the tables updates and cancel them through 'rollback operations'. It includes advanced features like statistics about updates, parallel rollbacks or 'logged rollback' allowing to ... cancel a rollback. A web GUI tool also helps in performing all E-Maj tasks.
Released By
beaud76
License
The GNU General Public License, Version 2, June 1991
Resources
Special Files
Tags

Extensions

emaj 2.1.0
Tables updates log and rollback

Documentation

CHANGES
E-Maj - Change log

README

E-Maj

E-Maj: logs and rollbacks table updates

Version: 2.1.0

License

This software is distributed under the GNU General Public License.

Objectives

The main goals of E-Maj are:

  • log updates performed on one or several sets of tables.
  • cancel these updates if needed, and reset a tables set to a predefined stable state.

In 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.

In production environments, it brings a good solution to:

  • keep an history of updates performed on tables to examine them in case of problem
  • set inter-batch savepoints on group of tables,
  • easily "restore" this group of tables at a stable state, without being obliged to stop the cluster,
  • handle several savepoints during batch windows, each of them been usable at any time as "restore point".

It brings a good alternative to the management of several database disk images.

In both environments, being able to examine the history of updates performed on tables can be very helpful in debugging work or for any other purposes.

Documentation

A detailed documentation can be found here (in English and in French).

Supplied files

  • README.md this readme file
  • CHANGES.md change log
  • LICENSE license information
  • AUTHORS who is behind E-Maj
  • META.json meta file for PGXN
  • emaj.control extension control file
  • Makefile the Makefile...

  • sql/emaj--2.0.1.sql extension installation script

  • sql/emaj--2.0.0--2.0.1.sql extension upgrade script from 2.0.0 to 2.0.1
  • sql/emaj--1.3.1--2.0.0.sql extension upgrade script from 1.3.1 to 2.0.0
  • sql/emaj--unpackaged--1.3.1.sql script to register 1.3.1 as an extension
  • sql/emaj-1.3.0-to-1.3.1.sql psql upgrade script from 1.3.0 to 1.3.1
  • sql/emaj-1.2.0-to-1.3.0.sql psql upgrade script from 1.2.0 to 1.3.0
  • sql/emaj-1.1.0-to-1.2.0.sql psql upgrade script from 1.1.0 to 1.2.0
  • sql/emaj-1.0.2-to-1.1.0.sql psql upgrade script from 1.0.2 to 1.1.0
  • sql/emaj-1.0.1-to-1.0.2.sql psql upgrade script from 1.0.1 to 1.0.2
  • sql/emaj-1.0.0-to-1.0.1.sql psql upgrade script from 1.0.0 to 1.0.1
  • sql/emaj-0.11.1-to-1.0.0.sql psql upgrade script from 0.11.1 to 1.0.0
  • sql/emaj-0.11.0-to-0.11.1.sql psql upgrade script from 0.11.0 to 0.11.1
  • sql/emaj_uninstall.sql psql uninstallation script
  • sql/emaj_demo.sql psql demonstration script
  • sql/emaj_prepare_parallel_rollback_test.sql psql script to prepare parallel rollback demonstration
  • sql/emaj_upgrade_after_postgres_upgrade.sql psql script that adjust the E-Maj extension after a postgres upgrade

  • doc/emaj.2.1.0_doc_en.pdf E-Maj user's guide in English

  • doc/emaj.2.1.0_doc_fr.pdf E-Maj user's guide in French
  • doc/emaj.2.1.0_pres_en.pdf E-Maj presentation in English
  • doc/emaj.2.1.0_pres_fr.pdf E-Maj presentation in French

  • php/emajParallelRollback.php external php client for parallel rollback

  • php/emajRollbackMonitor.php external php client to monitor in progress rollback operations

How to install and use E-Maj

E-Maj can be installed using the usual method for postgres extensions (ie. CREATE EXTENSION emaj;).

The documentation contains all the detailled information needed to install and use E-Maj.

E-Maj web GUI

Two web GUI tools are available to bring a user friendly E-Maj administration:

  • a plug-in for phpPgAdmin that takes benefit from the plugin architecture brought by phpPgAdmin 5.1+,
  • a stand alone php application, named Emaj_web.

Both tools share the same functionalities regarding E-MAj usage.

The phpPgAdmin plugin is available on github.

Emaj_web is also available on github.

Their installation and usage are also described in the documentation.

Support

For additional support or bug report, please contact Philippe BEAUDOIN (phb

Any feedback is welcome, even to just notice you use E-Maj ;-)

E-Maj is also available on github (https://github.com/beaud76/emaj)