On Mon, 2009-12-07 at 15:15 +0100, Pablo Braulio wrote:
> Hola a todos.
> 
> Necesito clonar una tabla. Es decir, su estructura y su contenido.
> 
> He probado con:
> 
> create tabla tabla2 as (select * from tabla1);
> 
> Esto me crea la segunda tabla y el contenido, pero no crea ni la pk ni 
> las fk, ni otros atributos como unique, not null, etc.
> 
> ¿Alguien sabe como hacerlo?.

reenvío el tip a la lista (por qué el reply-to va derecho al usuario???)
(y por qué no me fijé antes???)

los pasos serían, crear la estructura (y los datos) de la tabla:
# pg_dump -t tabla1 basededatos > tabla1.dump

cambiar las referencias de la tabla1 a la nueva tabla (ojo, esto es a
modo de ejemplo, abrí el dump y verificalo a mano, que tenga el create
table y todo eso):
# sed '1,$s/tabla1/tabla2/g' tabla1.dump > temporal 
# mv temporal tabla1.dump

y por último, crear la tabla y cargar los datos:
# cat tabla1.dump |psql basededatos

Saludos,

--
Manuel Fernando Aller



--
TIP 5: �Has le�do nuestro extenso FAQ?
         http://www.postgresql.org/docs/faqs.FAQ.html

Reply via email to