[英]How do I restore a Postgres database from within a SQL query?
在开发过程中,我需要通过还原数据库备份然后对它运行SQL来清理系统。 有没有办法做到这一点:
restore schema dbo 'c:/data/mydatabase.backup';
update dbo."MyTable" set "ColumnA" = 1;
与其他问题不同,这不是通过命令行执行的,而是在查询中执行的。
带有pgAdminIII的Postgres v9.5。
不支持从Postgres的SQL语句中还原转储。
一些可能的(丑陋的)解决方法:
如果您的转储是SQL脚本,则理论上您可以从运行(假设的)还原语句的任何位置运行该脚本-但这需要解析该脚本。 并且您将需要使用--inserts
选项生成转储,否则脚本将包含特定于psql
语句。
另一个解决方法是以不受信任的语言创建能够运行操作系统命令的存储功能。 实际的还原仍将由命令行实用程序完成,但是您可以从SQL内部启动该还原。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.