Thread: Recreate big table

Recreate big table

From
Gábriel Ákos
Date:
Hi,

We have a quite big table, which is heavily used by our online clients.
The table has several indexes, but no other relation to other tables.
We have an import process, which can fill/update this table.
The full import takes 1 hour, and this is very long.
We are thinking of doing the full import in another table and then just
"swapping" the two tables.
What will happen to our indexes? What will happen to our current
transactions (only read) ? What will the user see? :)
Should we recreate the indexes after the swap is done?

Btw is there a good practice doing this kind of work?

Thanks in advance,
Akos Gabriel

Re: Recreate big table

From
"Daniel Cristian Cruz"
Date:
Gábriel,

You could use table inheritance, like table partitioning is explained in manual:

http://www.postgresql.org/docs/8.2/interactive/ddl-partitioning.html

Kind regards,

Daniel Cristian

On 2/9/07, Gábriel Ákos <akos.gabriel@i-logic.hu> wrote:
> Hi,
>
> We have a quite big table, which is heavily used by our online clients.
> The table has several indexes, but no other relation to other tables.
> We have an import process, which can fill/update this table.
> The full import takes 1 hour, and this is very long.
> We are thinking of doing the full import in another table and then just
> "swapping" the two tables.
> What will happen to our indexes? What will happen to our current
> transactions (only read) ? What will the user see? :)
> Should we recreate the indexes after the swap is done?
>
> Btw is there a good practice doing this kind of work?
>
> Thanks in advance,
> Akos Gabriel
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>


--
Daniel Cristian Cruz
Analista de Sistemas
Especialista postgreSQL e Linux
Instrutor Certificado Mandriva