使用 pg_dumb 在 php 中进行 postgresql 备份

Taking postgresql backup in php using pg_dumb

我正在尝试使用 php 备份 postgresql 数据库。如果我使用以下命令在命令提示符下尝试它,那么它就可以工作。但是,如果我使用 exec() 尝试它,那么一个空文件是 generated.Also php 脚本将无限执行。

pg_dump -U postgres test > D:/backup.sql

以下代码有效。

putenv("PGPASSWORD=postgres");
$dumpcmd = array("pg_dump", "-i", "-U", escapeshellarg("postgres"), "-F", "c", "-b", "-v", "-f", escapeshellarg("D:/backup4.sql"), escapeshellarg("test"));
exec( join(' ', $dumpcmd), $cmdout, $cmdresult );
putenv("PGPASSWORD");
if ($cmdresult != 0)
{
    # Handle error here...
    echo "error";
}