我有一个PostgreSQL数据库,我的应用程序用VB.NET编码,出于我的目的,我orginladb
通过备份orginladb
和创建新的db(orginladb_copy
)并在同一个服务器中复制我的DB(称为)并还原orginladb
到orginladb_copy
我已经写了4个独立的代码Bakcup
,Drop DB
,Create DB
并且Restore
,以下是方法
/* Backup */
--------
pg_dump --format=c --username "postgres" originaldb > "D:\Backup\originaldb .backup"
/*Drop*/
------
psql -U postgres -d postgres -c "DROP DATABASE if exists "\"originaldb_Copy"\""
/*Create Copy Of Database*/
----------------------------
psql -U postgres -d postgres -c "CREATE DATABASE "\"originaldb_Copy"\""
/*Restore originaldb.backup to originaldb_Copy*/
---------------------------------------------------
pg_restore -d originaldb_Copy "D:\Backup\originaldb .backup"
所以我的问题是如何在一个步骤中或使用一个步骤将原始数据库复制到同一服务器function
?
您可以在VB.NET中创建如下所示的方法
Private Sub copy_db()
Using conn As New NpgsqlConnection("connection_string")
Dim cmd As New NpgsqlCommand()
cmd.CommandText = "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'Originaldb';"
cmd.ExecuteNonQuery()
cmd.CommandText = "drop database if exists ""Originaldb_Copy"""
cmd.ExecuteNonQuery()
cmd.CommandText = "CREATE DATABASE ""Originaldb_Copy"" WITH TEMPLATE ""Originaldb"" OWNER ""owner_name"";"
cmd.ExecuteNonQuery()
End Using
End Sub
并在要复制的地方调用此函数 copy_db
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句