vb.net - 恢复 PostgreSQL 数据库需要很长时间

标签 vb.net postgresql database-restore devart

使用 Dotconnect For PostgreSQL Connectivity在我的 VB.NET 程序中

这是我备份数据库的方法

  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
  • 磁盘上数据库的大小是15MB
  • Backup 的大小是 1.99MB

我已经使用 pgAdmin 和上面提到的 backup file 测试了 restore(pgScript),恢复 需要很长时间5.36 分钟

为什么我很困惑,上面提到的 databse 只是一个测试 database 预设的实际数据库大小是 889 MB,所以有有什么方法可以加快 restore 进程或任何其他 restore 方法?

提前致谢

最佳答案

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

...i have tested the restore(pgScript) using pgAdmin with the backup file mentioned above, it takes long time to restore 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

关于vb.net - 恢复 PostgreSQL 数据库需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23516852/

相关文章:

mysql - 将 MySQL 转储文件中的所有文本小写后无法创建表

vb.net - 如何抑制VS2005中特定函数的编译器警告(VB.Net)

sql - 字符串或二进制数据将被截断。该语句已终止

postgresql - pgAdmin 错误 - 关系 "[name of function/Views/Trigger Functions]"不存在

postgresql - 将 Postgres 与 Grails 结合使用

sql-server - SQL Server "RESTORE FILELISTONLY"结果集

mysql - 如何将MySQL数据库恢复到某个时间点

vb.net - 使用 VB.NET 重置打印机

vb.net - <Flags> 和 <FlagsAttribute()> 之间的区别

windows - 适用于Windows或Mac上PostgreSQL的良好前端