C#:pg_restore到不同的模式

时间:2015-07-14 12:13:55

标签: postgresql database-schema postgresql-9.3 pg-dump pg-restore

我有.net应用程序尝试使用 pg_dump 进行数据转储,并使用 pg_restore 进行恢复。

这是我的数据转储代码:

public string GetStringArgument()
{
  return string.Format("-i -h {0} -p {1} -U {2} -F c -b -v -f {3} -n {4} {5}", _dbCredential.Server, _dbCredential.Port.ToString(), _dbCredential.User, GetFilename(), "public", _dbCredential.Database);
}

我正在公开架构上获取所有数据表。

现在我需要使用pg_restore在我的postgres服务器上恢复此数据转储。

public string GetStringArgument()
{
  return string.Format("-i -h {0} -p {1} -U {2} -d {3} {4}", _dbCredential.Server, _dbCredential.Port.ToString(), _dbCredential.User, _dbCredential.Database, _dbCredential.BackUpPath);
}

但我需要将此数据恢复到名为堆栈的不同数据架构。

这是Windows服务应用程序,我不能进行任何手动脚本更改。

如何将数据转储恢复到不同的架构?

感谢您的反馈!!

1 个答案:

答案 0 :(得分:0)

使用pg_restore

无法恢复到不同的架构

我所能做的就是恢复到默认模式(无论你从数据库获得什么模式)并重命名它。