【发布时间】:2021-10-24 08:25:40
【问题描述】:
我有以下代码。 我的问题如下: 当我单击我的按钮时,我收到消息,备份已生成,但在查看生成的文件时,它是空的。 另一件事是我如何在参数中传递服务器密码,因为我有另一个具有登录密码的 postgreSQL 实例,我将不胜感激。
void Widget::on_pushButton_6_clicked()
{
QProcess* process=new QProcess(this);
QString prog("C:/Program Files/PostgreSQL/13/bin/pg_dump.exe");
QStringList params;
params<<"-U"<<"postgres"<<"-v"<<"-Fc"<<"-f"<<"D:/base.backup"<<"monitoreo_db";
bool res=process->startDetached(prog,params);
if(!res){
QMessageBox::critical(this,qApp->applicationName(),"Failed to execute command.\n");
return;
}
QMessageBox::information(this,qApp->applicationName(),"backup was created successfully.\n"+
QString::number(process->exitStatus()));
}
【问题讨论】:
-
使用 QProcess 来备份 PostgreSQL 数据库是绝对必要的吗?
-
是的,因为我想从我的应用程序中执行此操作,或者还有其他方式。
-
您使用的是哪个版本的 PostgreSQL?我想给你一个相关的答案。
-
好的,我使用的是 PostgreSQL 版本 13.3 和 Qt 版本 5.15.2。
标签: c++ postgresql qt backup