Time travel

From: Chris Bitmead <chrisb(at)nimrod(dot)itg(dot)telstra(dot)com(dot)au>
To: pgsql-hackers(at)postgreSQL(dot)org
Cc: chris(at)bitmead(dot)com
Subject: Time travel
Date: 2000-02-04 05:16:43
Message-ID: 389A60BB.D8A4484B@nimrod.itg.telecom.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


>From time to time the old Time Travel postgres functionality is
mentioned.
When it is mentioned, somebody usually says "Yeah well you can implement
it
just as well with triggers therefore it's redundant" and the doco says
"New
features such as triggers allow one to mimic the behavior of time travel
when
desired, without incurring the overhead when it is not needed (for most
users,
this is most of the time).

This seems to fail to take into account the original design which was
to take advantage of a different style of storage manager, that doesn't
have an undo log. Unless I'm missing something, postgres is indeed still
"incurring the overhead" of time travel, but losing the feature.

In fact, if you have fsync turned on for full safety, the postgres
performance is going to be bad compared to a regular design
storage manager.

On the other hand the postgres storage manager had the advantage of time
travel because it does not update in place.

Now in the documentation it mentioned removing time travel because
"performance impact, storage size, and a pg_time file which
grows toward infinite size in a short period of time.".

Now since I believe the postgres storage manager does not replace
records in place when updated, I can't see how it is different to
having the time travel feature with vacuum configured to remove
all old records immediately. I don't know what the pg_time file
is.

Have I missed something about why taking out time travel has
improved performance, as opposed to simply making immediate
vacuum the default? Clearly the performance of triggers as an
alternative is going to suck very badly, since the postgres
storage manager was built specially from the ground up to
support time travel with its non-update semantics, and it
still has these characteristics.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Don Baccus 2000-02-04 05:17:10 Re: [HACKERS] Re: [SQL] Proposed Changes to PostgreSQL
Previous Message Hiroshi Inoue 2000-02-04 05:01:05 RE: [HACKERS] how to deal with sparse/to-be populated tables