在开发中,我需要通过恢复数据库备份然后针对它运行SQL来清理我的系统。有没有办法做到这一点:
restore schema dbo 'c:/data/mydatabase.backup';
update dbo."MyTable" set "ColumnA" = 1;
与其他问题不同,通过命令行执行此操作不,而是在查询中。
Postgres v9.5 with pgAdminIII。
答案 0 :(得分:1)
不支持从Postgres的SQL语句中恢复转储。
一些可能(丑陋)的解决方法:
如果您的转储是一个SQL脚本,理论上您可以从运行该(假设的)还原语句的任何地方运行该脚本 - 但这需要解析脚本。您需要使用--inserts
选项生成转储,否则脚本包含psql
个特定语句。
另一种解决方法可能是以不受信任的语言创建一个能够运行操作系统命令的存储函数。实际的恢复仍将由命令行实用程序完成,但您可以从SQL中启动。