PGXN

PostgreSQL Extension Network

E-Maj 2.2.3

This Release

E-Maj2.2.3

Date

2018-03-13

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.

E-Maj

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.