Announcement: application level undo/redo for PostgreSQL

From: Kiriakos Georgiou <kg(dot)postgresql(at)olympiakos(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Announcement: application level undo/redo for PostgreSQL
Date: 2016-12-02 22:10:24
Message-ID: 5ACF5C80-D9BC-44E6-8709-CAB5646C71BA@olympiakos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Greetings,

I’d like to announce the availability of a PostgreSQL extension that I’ve sat on for a year – it’s time to share!  It provides undo/redo functionality useful to application developers that want to persist application objects in a PostgreSQL database.  It does some gymnastics using jsonb under the hood, so you’ll need to be on PostgreSQL 9.4 and up.

The bad news is that currently you have to model the application object with just one table (multi table undo/redo is on the to-do list).  The good news is that it implements non-linear multi-timeline undo/redo.  What this means is it keeps a full history of table operations and allows you to jump anywhere in the history and continue operations from there.

For an article detailing how to use it see: http://www.mockbites.com/articles/tech/istoria

You can get it from here: https://github.com/KiriakosGeorgiou/istoria

This was inspired by the airspace editor project I’m currently working on where undo/redo is managed by the application.  I wanted to push all this to the database so a) tables don’t get polluted with undo/redo metadata b) the application does not need to implement undo/redo logic.

I hope you find it useful.

Regards,

Kiriakos Georgiou

Browse pgsql-general by date

  From Date Subject
Next Message Maeldron T. 2016-12-03 01:52:38 FreeBSD 10 => 11: Dump and reload your PostgreSQL database unless you like it broken
Previous Message Adrian Klaver 2016-12-02 21:45:59 Re: INSERT - UPDATE throughput oscillating and SSD activity after stopping the client