| From: | Manuel Fernando Aller <manuel(dot)aller(at)gmail(dot)com> | 
|---|---|
| To: | PostgreSQL Español Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> | 
| Subject: | Re: Clonar tabla y su contenido. | 
| Date: | 2009-12-07 14:35:29 | 
| Message-ID: | 1260196529.7276.9.camel@manolo-notebc | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pablo Braulio | 2009-12-07 14:39:58 | Re: Clonar tabla y su contenido. | 
| Previous Message | Enrique Nuñez | 2009-12-07 14:28:41 | Off Topic: Asesoría para Santiago |