Из-за моей ответственности, кто должен восстановить клон db после того, как сделан весь тестовый пример.
Я считаю, что в случае восстановления функция не работает или не завершена, или произошла ошибка.
Одним из решений, которое может справиться с этим делом, является использование запроса отбрасывания / клонирования [см. Код ниже].
Однако я новичок в PostgreSQL, поэтому мне нужно спросить:
«Возможно ли с помощью этого решения выполнить запрос отбрасывания / клонирования для создания современной и чистой версии базы данных клонов?»
public void Query()
{
/*DROP CLONE DB IF EXIST*/
connect("Server=***.***.*.*.*; Port=5432; User Id=Admin; Password=postgres; Database=clonedb","drop database IF EXISTS clonedb");
/*CLONE REAL DB To Create an up-to-date and clean version of clone db*/
connect("Server=***.***.*.*.*; Port=5432; User Id=Admin; Password=postgres; Database=realdb","CREATE DATABASE clonedb WITH TEMPLATE realdb OWNER Admin;");
}
public void connect (string connectionString,string query)
{
try
{
using(NpgsqlConnection conn = new NpgsqlConnection(connectionString))
{
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand(query, conn);
NpgsqlDataReader dr= cmd.ExecuteReader();
if (dr.Read())
{
Console.WriteLine("connection established");
}
dr.Close();
}
}
catch(Exception e)
{
/*If NpgsqlConnection is failed , do something*/
}
}