Tengo un requisito en el que necesito tomar una instantánea de una base de datos y restaurarla en la misma máquina con algún otro nombre predefinido en postgres. He intentado lograr la tarea anterior con el siguiente comando.Copiar base de datos en postgres
CREATE DATABASE destniationDb TEMPLATE sourceDb;
Pero esta opción falla cuando la conexión/sesión a la SourceDB exists.So necesito para truncar esta opción ya que hay alta posibilidad de que el usuario haciendo operación de lectura. Todas las opciones de línea de comando como restore_db, backup_db se adaptan a mis requisitos. Por lo tanto, necesito algún comando/función/procedimiento de consola para lograrlo, es decir, necesito conectarme a la base de datos y llamar a algún comando/función/procedimiento de almacenamiento que logre esto objetivo.
¿Alguno de ustedes puede sugerir algún tipo de solución a mi requerimiento?
He intentado esta opción, pero no se ajusta a nuestros requisitos. – Patton
¿por qué? ¿puedes elaborar sobre este caso especial? – nemesisfixx
en realidad no queremos usar ninguna opción de línea de comando de postgres como createdb, dropdb en este caso pg_dump; y la opción que estamos buscando es algo diferente, digamos programática (usando JDBC). La opción mencioné CREATE DATABASE destniationDb TEMPLATE sourceDb; toma menos de 6 segundos para completar la operación. En el caso que ha mencionado, lleva un minuto completar la operación BTW He intentado con la solución que se ofrece aquí http://stackoverflow.com/questions/1237725/how-to- copy-postgres-database-to-another-server – Patton