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.

include("config.php");

$Archivo=date(" Y\-m\-d") . "--galopin" . ".sql";
 //podeis poner el nombre de archivo que querais con la extension que os de la gana
$EliminarTablas = true;    //aqui poned si quereis que se elimen las tablas si existen       

//Conectar con la base de datos
$Conexion = mysql_connect($Servidor, $Usuario, $Password);
mysql_select_db($BaseDeDatos, $Conexion);

$ListaTablas = mysql_listtables($BaseDeDatos);
For ($Numero = 0; $Numero < mysql_num_rows ($ListaTablas); $Numero++) {
    $Tablas[] = mysql_tablename ($ListaTablas, $Numero);
    $Querys .= CrearQuerys( $Conexion, $Tablas[$Numero], $EliminarTablas);
}

// Enviamos los datos
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$Archivo");
echo $Querys;

Function CrearQuerys($Conexion, $Tabla, $EliminarTablas) {
// Query que elimina las tablas si existen
if ($EliminarTablas) {
    $QueryEliminarTabla = "DROP TABLE IF EXISTS `$Tabla`;";
}

// Query que crea la estructura de la tabla
$sql= "SHOW CREATE TABLE $Tabla;";
$Respuesta = mysql_query($sql, $Conexion);
$ArrayRespuesta = mysql_fetch_array($Respuesta);
$QueryEstructuraTabla = $ArrayRespuesta[1].";";

// Query que introduce los datos en la tabla
$sql = "SELECT * FROM $Tabla;";
$Respuesta = mysql_query($sql, $Conexion);
while ($Fila = mysql_fetch_array($Respuesta, MYSQL_ASSOC)) {
    $Columnas = array_keys($Fila);
     foreach ($Columnas as $Columna) {
         if ( gettype($Fila[$Columna]) == "NULL" ) {
            $Valores[] = "NULL";
         } else {
             $Valores[] = "'".$Fila[$Columna]."'";
        }
    }
    $QueryInsertarDatos .= "INSERT INTO `$Tabla` VALUES (".implode(", ", $Valores).");\n";
    unset($Valores);
}

$Contenido = <<<EOT
$QueryEliminarTabla
$QueryEstructuraTabla
$QueryInsertarDatos

EOT;

return $Contenido;
}

Espero respuesta POSTGREANOS

Ruben Avila G.