Thread: CLONE TABLE DATA TO

CLONE TABLE DATA TO

From
"Marc Mamin"
Date:
<p dir="LTR"><span lang="de"></span><span lang="en-us"><font face="Calibri">Hello,</font></span><p dir="LTR"><span
lang="en-us"><fontface="Calibri">I wonder if it would be possible to have a fast table clone function (data only) while
copyingthe corresponding data files</font></span><p dir="LTR"><span lang="en-us"><font
face="Calibri">inst</font></span><spanlang="de"></span><span lang="en-us"><font face="Calibri">e</font></span><span
lang="de"></span><spanlang="en-us"><font face="Calibri">ad of using the "CREATE TABLE AS"  way.</font></span><p
dir="LTR"><spanlang="de"></span><span lang="de"></span><span lang="de"></span><span lang="de"></span><span
lang="en-us"><fontface="Calibri">pg_upgrade</font></span><span lang="de"></span><span lang="de"></span><span
lang="de"></span><spanlang="en-us"> <font face="Calibri">seems to have such a mechanisms,</font></span><span
lang="de"></span><spanlang="de"></span><span lang="de"></span><span lang="en-us"> <font face="Calibri">though it
requiresto first stop the server...</font></span><span lang="de"></span><span lang="de"></span><span
lang="de"></span><spanlang="en-us"></span><p dir="LTR"><span lang="de"></span><span lang="de"></span><span
lang="en-us"><fontface="Calibri">This would of course require to lock the complete table and ensure that all latest
changesare flushed to the plates.</font></span><span lang="de"></span><span lang="en-us"></span><p dir="LTR"><span
lang="de"></span><spanlang="de"></span><span lang="de"></span><span lang="de"></span><span lang="en-us"><font
face="Calibri">Idon't know how are the plan about switching</font></span><span lang="de"></span><span
lang="de"></span><spanlang="de"></span><span lang="en-us"> <font face="Calibri"> from</font></span><span
lang="de"></span><spanlang="de"></span><span lang="de"></span><span lang="en-us"> <font
face="Calibri">UNLOGGED</font></span><spanlang="de"></span><span lang="de"></span><span lang="de"></span><span
lang="en-us"><font face="Calibri">to LOGGED tab</font></span><span lang="de"></span><span lang="de"></span><span
lang="de"></span><spanlang="en-us"><font face="Calibri">les, but I guess this might be required</font></span><span
lang="de"></span><spanlang="de"></span><span lang="de"></span><span lang="en-us"> <font face="Calibri">to start logging
thetable only after the copy.</font></span><span lang="de"></span><span lang="de"></span><span lang="de"></span><span
lang="en-us"></span><pdir="LTR"><span lang="de"></span><span lang="de"></span><span lang="en-us"></span><p
dir="LTR"><spanlang="en-us"><font face="Calibri">Background: I have daily tables with hourly imports which may contain
>100 Mio rows and require 7 indices on them.</font></span><p dir="LTR"><span lang="en-us"><font face="Calibri">In
orderto improve import performances, I first do a copy of the active</font></span><span lang="de"></span><span
lang="en-us"><fontface="Calibri"></font></span><span lang="de"></span><span lang="en-us"> <font face="Calibri">table,
importnew data and rebuild the indexes.</font></span><p dir="LTR"><span lang="de"></span><span lang="en-us"></span><p
dir="LTR"><spanlang="de"></span><span lang="en-us"></span><p dir="LTR"><span lang="de"></span><span lang="en-us"><font
face="Calibri">Thanksfor your great job,</font></span><p dir="LTR"><span lang="en-us"><font face="Calibri">Marc
Mamin</font></span><uldir="LTR"><p dir="LTR"><span lang="de"></span><span lang="en-us"></span></ul> 

Re: CLONE TABLE DATA TO

From
Robert Haas
Date:
On Fri, Jan 13, 2012 at 5:56 AM, Marc Mamin <M.Mamin@intershop.de> wrote:
> I wonder if it would be possible to have a fast table clone function (data
> only) while copying the corresponding data files
>
> instead of using the "CREATE TABLE AS"  way.
>
> pg_upgrade seems to have such a mechanisms, though it requires to first stop
> the server...
>
> This would of course require to lock the complete table and ensure that all
> latest changes are flushed to the plates.

I think it would be possible to implement this.  In fact, it could
probably be done as a contrib module.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: CLONE TABLE DATA TO

From
"Marc Mamin"
Date:
This would be great, but I can't C  :-(

Marc

> -----Original Message-----
> From: Robert Haas [mailto:robertmhaas@gmail.com]
> Sent: Freitag, 13. Januar 2012 14:12
> To: Marc Mamin
> Cc: pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] CLONE TABLE DATA TO <new_table>
>
> On Fri, Jan 13, 2012 at 5:56 AM, Marc Mamin <M.Mamin@intershop.de>
> wrote:
> > I wonder if it would be possible to have a fast table clone function
> (data
> > only) while copying the corresponding data files
> >
> > instead of using the "CREATE TABLE AS"  way.
> >
> > pg_upgrade seems to have such a mechanisms, though it requires to
> first stop
> > the server...
> >
> > This would of course require to lock the complete table and ensure
> that all
> > latest changes are flushed to the plates.
>
> I think it would be possible to implement this.  In fact, it could
> probably be done as a contrib module.
>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company