恢复PostgreSQL数据库需要很长时间

时间:2014-05-07 11:42:04

标签: vb.net postgresql database-restore devart

在我的VB.NET计划

中使用Dotconnect For PostgreSQL Connectivity

这是我备份db

的方法
  Private Sub pgsqlBackup()
   Dim pgback As New PgSqlDump
   pgback.Connection = Myconnstr
   Myconnstr.Open()
   pgback.ObjectTypes = PgSqlDumpObjects.All
   pgback.Backup("D:\pgBAckup\backupst.dump")
End Sub
  • 磁盘上Databse的大小为15MB
  • Backup的尺寸为1.99MB

我使用上面提到的restore(pgScript)使用pgAdminbackup file进行了测试,需要很长时间才能恢复5.36 MIN

为什么我感到困惑的是上面提到的databse只是一个测试database预设的实际数据库大小是889 MB,那么有没有办法加速{{1} } {进程或restore的任何其他方法?

提前致谢

1 个答案:

答案 0 :(得分:0)

使用PgSqlDump.Backup方法创建名为backupst.dump的文件。它包含一组用于创建数据库的SQL查询。

  

...我已经使用pgAdmin和上面提到的备份文件测试了恢复(pgScript),恢复5.36 MIN需要很长时间......

Devart无法评论pgAdmin的表现。您可以尝试使用dotConnect for PostgreSQL从backupst.dump文件恢复数据库,在这种情况下性能可能会更好:

  1. 尝试使用PgSqlDump.Restore方法。有关详细信息,请参阅http://www.devart.com/dotconnect/postgresql/docs/?Devart.Data~Devart.Common.DbDump~Restore.html
  2. 尝试使用允许您执行多个查询的PgSqlScript对象。有关详细信息,请参阅http://www.devart.com/dotconnect/postgresql/docs/?Devart.Data.PostgreSql~Devart.Data.PostgreSql.PgSqlScript.html
  3. 尝试使用PgSqlCommand,将UnpreparedExecute属性值设置为true。这也允许您执行多个查询。有关详细信息,请参阅http://www.devart.com/dotconnect/postgresql/docs/?Devart.Data.PostgreSql~Devart.Data.PostgreSql.PgSqlCommand~UnpreparedExecute.html