Eu tenho um banco de dados chamado "A" que possui dois esquemas "B" e "C". Quero fazer backup e restaurar o esquema "B" em um servidor diferente? não sei como fazer isso, pois sou novo no Postgres. Preciso criar um novo banco de dados no novo servidor a partir do nome "A" e depois restaurar o Esquema "B" nele. pls ajuda com comandos.
--- informações do comentário sobre a resposta de Pedro:
Quero fazer backup e restaurar dados do esquema "B" +. Em segundo lugar, esqueci de mencionar que o Postgresql 9.1 rodando no Ubuntu 12.04
fonte
-b
opção para despejar com blobs. Observe que com-b
todos os blobs são adicionados, não apenas para um único esquema.Você pode adicionar parâmetro
-n [schema name]
O comentário deste parâmetro é dito:fonte
* Exemplo básico:
Eu crio arquivos "dump.bat" e "restore.bat" na janela para despejar / restaurar
1 / Backup:
Resultados:
* Nota: algumas opções 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"
(**)(**) Na realidade, se o seu arquivo de formato é * .sql, você pode usar o pgAdmin (ou psql) para restaurar. Você deve usar o pg_restore para restaurar um arquivo .tar ( .bakup ...)
fonte
--schema-only
, os dados devem estar no dump ou você pode não ter o privilégio de selecionar o conteúdo da tabela.Eu escrevi um script que torna isso trivial. Fácil exportação de funções SQL e esquemas de tabela para
*.sql
arquivos individuais . Facilita o gerenciamento, backup e controle de origem:https://gist.github.com/dantheman213/aff70ee42a11f2d1fa46983878cd62e1
fonte
Isso pode ser usado para fazer backup de esquema
Isso pode ser usado para restaurar o banco de dados
fonte