Tengo una base de datos llamada "A" que tiene dos esquemas "B" y "C". ¿Quiero hacer una copia de seguridad y restaurar el esquema "B" en un servidor diferente? No estoy seguro de cómo hacer esto, ya que soy nuevo en Postgres. ¿Tengo que crear una nueva base de datos en un nuevo servidor con el nombre "A" y luego restaurar el esquema "B" en ella. pls ayuda con los comandos.
--- información del comentario sobre la respuesta de Peter:
Quiero hacer una copia de seguridad y restaurar el esquema "B" + datos. En segundo lugar, olvidé mencionar que Postgresql 9.1 se ejecuta en Ubuntu 12.04
fuente
-b
opción para volcar con blobs. Tenga en cuenta que con-b
todos los blobs se agregan no solo para un solo esquema.Puede agregar el parámetro
-n [schema name]
El comentario de este parámetro se dice:fuente
* Ejemplo básico:
Creo archivos "dump.bat" y "restore.bat" en la ventana para volcar / restaurar
1 / Copia de seguridad:
Resultados:
* Nota: algunas opciones importantes:
2 / Restaurar:
"C:\Program Files\PostgreSQL\9.1\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "any_database" --no-password --no-owner --no-privileges --schema name_schema_B --verbose "C:\dump_resul.sql"
(**)(**) En realidad, si su archivo de formato es * .sql, puede usar pgAdmin (o psql) para restaurar. Debe usar pg_restore para restaurar un archivo .tar ( .bakup ...)
fuente
--schema-only
, los datos deben estar en el volcado o es posible que no tenga el privilegio de seleccionar el contenido de la tabla.Escribí un guión que hace que esto sea trivial. Exportación fácil de funciones SQL y esquemas de tablas en
*.sql
archivos individuales . Facilita la administración, la copia de seguridad y el control de origen:https://gist.github.com/dantheman213/aff70ee42a11f2d1fa46983878cd62e1
fuente
Esto se puede usar para tomar una copia de seguridad del esquema
Esto se puede usar para restaurar la base de datos
fuente