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