Toma el contenido de las tablas tabla1..tabla4 y lo vuelca en /tmp/fichero.dump sin tomar la estructura de la tabla.
Utiliza unas tablas auxiliares para guardar el contenido de las tablas que tienen relaciones con tabla1..tabla4.
Vacía las tablas tabla2_related1..tabla2_related3 con relaciones sobre las tablas que estamos moviendo.
Posteriormente vacía las tablas destino tabla1..tabla4 y despues las rellena con el contenido del fichero /tmp/fichero.dump
Por último restaura el contenido de las tablas con relaciones, utilizando la cópia almacenada en las tablas auxiliares.
Espero que os pueda servir de ayuda en alguna ocasión.
#Volcado de las tablas originales deseadas (primero las maestras luego las dependientes)
pg_dump -U
pg_dump -U
pg_dump -U
pg_dump -U
#Borrado de las auxiliares
psql -h
psql -h
psql -h
#Relleno de las auxiliares
psql -h
psql -h
psql -h
#Borrado de las relacionadas
psql -h
psql -h
psql -h
#Borramos el contenido de las tablas deseadas
psql -h
psql -h
psql -h
psql -h
#Rellenamos las tablas deseadas
psql -h
#Restauramos las relacionadas
psql -h
psql -h
psql -h