Re: mirroring table

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: searchelite <searchelite(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: mirroring table
Date: 2008-08-14 06:04:20
Message-ID: 48A3CAE4.7080806@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

searchelite wrote:
> Hi all..how can i mirroring table in postgresql?
> Let say i have a transaction table updated everyday, i want to mirror that
> table so that the other table only store the latest updated day records..
> I hope you can understand my question..

It sounds like what you want is to have a table that contains a full
history of records, plus another table that contains only the records
from the first table that were inserted/updated today.

If that is what you mean, there are several ways to do it, with
different advantages and disadvantages.

You can treat your smaller table as a materialized view, where you use
triggers to update it and run a batch job (with cron or similar) every
night to clear it.

Another way is to make it a normal view, possibly with rules in place to
make it updatable. You could use a partial index on the primary key
that's restricted to tuples inserted/updated more recently than a given
date to improve performance of the view.

For that matter, you could even use table partitioning to do it, though
this would involve a bit of manual (or scripted) maintenance.

Anyway, this is all speculation if I've missed the point of your
question. If I'm mistaken about what you meant, perhaps you could
explain in a little more detail?

--
Craig Ringer

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Gnanavel Shanmugam 2008-08-14 06:41:21 Re: Need help returning record set from a dynamic sql query
Previous Message Dale Harris 2008-08-14 05:32:11 cannot use result of (insert .. returning)