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?

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to