Re: temporal support patch

From: Miroslav Šimulčík <simulcik(dot)miro(at)gmail(dot)com>
To: "A(dot)M(dot)" <agentm(at)themactionfaction(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: temporal support patch
Date: 2012-05-18 07:06:58
Message-ID: CAHRNM68TWo8_ihMsBfq1uL4VWBJpiwgfq4rHa5YB1oa0my=13Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello.

Basically my implementation serve for the same thing as table_log extension -
entry versioning. It also uses history table and triggers to store old
versions of entries. After quick review of table_log extension, here is
comparison with my solution:

tale_log advantages compared to my solution:
- no columns added to the original table
- more control over created objects

advantages of my solution compared to table_log
- built in syntax
- more user friendly - everything is done automatically
- no data redundancy - in my extension current versions of entries are
stored only once in original table (in table_log - entries are inserted to
both original and log table)
- no speed degradation for INSERT statement - no triggers called on INSERT
- faster triggers - triggers in my implementation are based on referential
integrity triggers and use prepared statements
- original table alterations are automatically done also on history table
- easier selection of data valid in specific time - each row contains start
and end time
- easier restoration to table - TRANSACTIONTIME AS OF expression SELECT *
INTO restoration_table FROM original_table;

Regards
Miroslav Simulcik

2012/5/17 A.M. <agentm(at)themactionfaction(dot)com>

>
> On May 16, 2012, at 5:14 PM, Miroslav Šimulčík wrote:
>
> > Hi all,
> >
> > as a part of my master's thesis I have created temporal support patch
> for PostgreSQL. It enables the creation of special temporal tables with
> entries versioning. Modifying operations (UPDATE, DELETE, TRUNCATE) on
> these tables don't cause permanent changes to entries, but create new
> versions of them. Thus user can easily get to the past states of the table.
> >
> > Basic information on temporal databases can be found on
> http://en.wikipedia.org/wiki/Temporal_database
> >
>
> Hello!
>
> I currently use the table_log extension:
> http://pgfoundry.org/projects/tablelog/
>
> Other than the built-in syntax, how does your implementation differ
> feature-wise?
>
> Cheers,
> M
>
>
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Albe Laurenz 2012-05-18 07:19:15 Re: temporal support patch
Previous Message Teodor Sigaev 2012-05-17 20:12:45 Re: psql bug