<html><div style='background-color:'><P>Hola amigos postgreanos estuve averiguando ya que varios programadores me preguntaron si se puede sacar BACKUP via web de POSTGRESQL en PHP ya que en MYSQL normal sale y nunca pude solucionar esa interrogante y aqui le paso como se hace en MYSQL espero que si se pueda en POSTGRESQL porque es un base de datos mejor que MYSQL.</P>
<P>include("config.php");</P>
<P>$Archivo=date(" Y\-m\-d") . "--galopin" . ".sql";<BR> //podeis poner el nombre de archivo que querais con la extension que os de la gana<BR>$EliminarTablas = true; //aqui poned si quereis que se elimen las tablas si existen </P>
<P>//Conectar con la base de datos<BR>$Conexion = mysql_connect($Servidor, $Usuario, $Password);<BR>mysql_select_db($BaseDeDatos, $Conexion);</P>
<P>$ListaTablas = mysql_listtables($BaseDeDatos);<BR>For ($Numero = 0; $Numero < mysql_num_rows ($ListaTablas); $Numero++) {<BR> $Tablas[] = mysql_tablename ($ListaTablas, $Numero);<BR> $Querys .= CrearQuerys( $Conexion, $Tablas[$Numero], $EliminarTablas);<BR>}</P>
<P>// Enviamos los datos<BR>header("Pragma: no-cache");<BR>header("Expires: 0");<BR>header("Content-Transfer-Encoding: binary");<BR>header("Content-type: application/force-download");<BR>header("Content-Disposition: attachment; filename=$Archivo");<BR>echo $Querys;</P>
<P>Function CrearQuerys($Conexion, $Tabla, $EliminarTablas) {<BR>// Query que elimina las tablas si existen<BR>if ($EliminarTablas) {<BR> $QueryEliminarTabla = "DROP TABLE IF EXISTS `$Tabla`;";<BR>}</P>
<P>// Query que crea la estructura de la tabla<BR>$sql= "SHOW CREATE TABLE $Tabla;";<BR>$Respuesta = mysql_query($sql, $Conexion);<BR>$ArrayRespuesta = mysql_fetch_array($Respuesta);<BR>$QueryEstructuraTabla = $ArrayRespuesta[1].";";</P>
<P>// Query que introduce los datos en la tabla<BR>$sql = "SELECT * FROM $Tabla;";<BR>$Respuesta = mysql_query($sql, $Conexion);<BR>while ($Fila = mysql_fetch_array($Respuesta, MYSQL_ASSOC)) {<BR> $Columnas = array_keys($Fila);<BR> foreach ($Columnas as $Columna) {<BR> if ( gettype($Fila[$Columna]) == "NULL" ) {<BR> $Valores[] = "NULL";<BR> } else {<BR> $Valores[] = "'".$Fila[$Columna]."'";<BR> }<BR> }<BR> $QueryInsertarDatos .= "INSERT INTO `$Tabla` VALUES (".implode(", ", $Valores).");\n";<BR> unset($Valores);<BR>}</P>
<P>$Contenido = <<<EOT<BR>$QueryEliminarTabla<BR>$QueryEstructuraTabla<BR>$QueryInsertarDatos</P>
<P>EOT;</P>
<P>return $Contenido;<BR>}<BR></P>
<P>Espero respuesta POSTGREANOS</P>
<P>Ruben Avila G.</P></div></html>