Re: Immutable datastore library?

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Guyren Howe <guyren(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Immutable datastore library?
Date: 2016-10-17 20:54:49
Message-ID: CAEepm=1WiPVWc4reT+5U-Keq+58pguVNduAm=u-S1QwZLnn6cg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Oct 18, 2016 at 9:39 AM, Guyren Howe <guyren(at)gmail(dot)com> wrote:
> I would like to use Postgres as an immutable data store. A subject table would have a timestamp column, and that would be added to what would otherwise be the primary key.
>
> Trap updates and turn them into inserts. Have an associated _deleted table. Trap deletes and turn them into inserts of the primary key into that table.
>
> Create a view that only shows the non-deleted records with the most recent timestamps.
>
> Stored procedure to do all that to a table. Event trigger to drop and re-create the view on changes to the table columns.
>
> I think that's about it. Seems an obvious and nice general-purpose thing to do. It also seems like something someone might have already done, but googling "immutable postgres" pulls up things about writing functions.
>
> Does anyone know of a project that has already done this?

The term you need is 'temporal' and searching for that you'll find
several projects providing something like that for PostgreSQL.

I've done some projects using temporal (and bitemporal) models based
on Richard Snodgrass's excellent book (which I hear is widely read at
utility companies among others), without any special library support:

http://www.cs.arizona.edu/~rts/tdbbook.pdf

His work influenced the SQL standard which I expect/hope is inspiring
those projects. SQL:2011 has a temporal feature that does this sort
of thing automatically.

--
Thomas Munro
http://www.enterprisedb.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Guyren Howe 2016-10-17 21:01:57 Re: Immutable datastore library?
Previous Message Melvin Davidson 2016-10-17 20:54:46 Re: Problem changing default data_directory in PG 9.6 + CentOS6