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