Exportar ordenado en postgres

De tanta frustración, quiero compartir este pequeño pero sencillo código que permite, de una forma semi-manual, hacer un dump de la base de las tablas en un orden de tal forma que no haya problemas con los FK al importarlos de regreso.

Lo único manual es escribir en orden las tablas que se deseen dumpear; a la espera que postgres libere el parche para que se haga automaticamente con el pg_dump esto creo que puede servir.

Es un archivo php que se puede ejecutar tanto por browser como por CLI.


$tablas = array("tabla_1","tabla_2","tabla_n",);
$num_tablas = count($tablas);
$master = "";
for($i=0;$i<$num_tablas;$i++)
{
  $tabla = $tablas[$i];
  echo "dumpeando $tabla\n";
  exec("pg_dump midatabase -f dummy.txt --username=postgres -a -D -t $tabla");
  $file = file_get_contents("dummy.txt");
  $master .= $file;
  unlink("dummy.txt");
}
file_put_contents("dump_ordenado.sql",$master);

echo "dumpeando todo\n";
exec("pg_dump midatabase -f dump_master.sql --username=postgres -a -D");
?>

Leave a comment

No comments yet.

Comments RSS TrackBack Identifier URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • QR Code: po5i

    qrcode
  • Twitter Updates

  • RSS Youtube favorites

    • An error has occurred; the feed is probably down. Try again later.
  • RSS last.fm (recent)

    • An error has occurred; the feed is probably down. Try again later.
  • Visitantes

  • Bitácora

  • del.icio.us