1、设置环境变量,计算机环境变量PATH中添加Postgresql安装路径下的bin文件夹路径
2、备份
/// <summary>
/// 备份postgresql数据库
/// </summary>
/// <param name="ip">服务器ip地址 127.0.0.1</param>
/// <param name="port">端口号 默认5432 </param>
/// <param name="user">用户</param>
/// <param name="database">数据库</param>
/// <param name="filename">文件名全路径 D:\test.bak</param>
private void BackData(string ip,string port,string user,string database,string filename)
{
try
{
//注意:需要提前在计算机环境变量PATH中添加Postgresql安装路径下的bin文件夹路径
string cmdstr = "pg_dump -h " + ip + " -p " + port + " -U " + user + " " + database + " > " + filename;
//备份成功则继续执行exit退出,失败则停在当前窗口
System.Diagnostics.Process.Start("cmd.exe", "/K" + cmdstr + "&& exit").WaitForExit();
MessageBox.Show("备份结束!", "提示");
}
catch (Exception ee)
{
XtraMessageBox.Show(ee.Source + ee.Message, "错误信息");
}
}
2、还原
/// <summary>
/// 还原postgresql数据库
/// </summary>
/// <param name="ip">服务器ip地址 127.0.0.1</param>
/// <param name="port">端口号 默认5432 </param>
/// <param name="user">用户</param>
/// <param name="password">密码</param>
/// <param name="database">数据库</param>
/// <param name="filename">文件名全路径 D:\test.bak</param>
private void RestoreData(string ip, string port, string user, string password, string database, string filename)
{
try
{
string cmdstr = "psql -h " + ip + " -p " + port + " -U " + user + " password=" + password + " -d " + database + " < " + filename;
//成功则继续执行exit退出,失败则停在当前窗口
System.Diagnostics.Process.Start("cmd.exe", "/K" + cmdstr + "&& exit").WaitForExit();
MessageBox.Show("还原结束!", "提示");
}
catch (Exception ee)
{
XtraMessageBox.Show(ee.Source + ee.Message, "错误信息");
}
}