Skip to content
E-Maj is a PostgreSQL extension that tracks updates on tables sets with rollback capabilities
Branch: master
Clone or download
beaud76 Add 4 emaj_assign_sequence(), emaj_assign_sequences(), emaj_remove_se…
…quence() and emaj_remove_sequences() funtions. They will be used by the administrator to add or remove sequences to a tables group. When these functions are called, the group(s) can be in idle or logging state. This commit includes the documentation about the 8 new functions dealing with tables/sequences assign/remove actions.
Latest commit ae03b13 Jul 17, 2019


E-Maj: logs and rollbacks table updates



This software is distributed under the GNU General Public License.


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.


E-Maj is available via the PGXN platform ( It is also available on github (


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

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.

Emaj_web GUI

Emaj_web is a web GUI tool that brings a user friendly E-Maj administration. It is written in PHP.

The Emaj_web client is available on github.

Its installation and usage are also described in the documentation.


Any contribution on the project is welcome. A part of the documentation deals with how to contribute.


For additional support or bug report, please contact Philippe BEAUDOIN (phb emaj free fr) or create an issue on the github repository.

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

You can’t perform that action at this time.