Saya memiliki database bernama "A" yang memiliki dua skema "B" dan "C". Saya ingin mencadangkan dan memulihkan Skema "B" di server yang berbeda? tidak yakin bagaimana melakukan ini karena saya baru di Postgres. Apakah saya harus membuat DB baru pada server baru pada nama "A" dan kemudian mengembalikan Skema "B" di atasnya. tolong bantu dengan perintah.
--- informasi dari komentar pada jawaban Peter:
Saya ingin mencadangkan dan memulihkan Skema "B" + data. Kedua saya lupa menyebutkan bahwa Postgresql 9.1 berjalan di Ubuntu 12.04
sumber
-b
opsi untuk membuang dengan gumpalan. Perhatikan bahwa dengan-b
semua gumpalan ditambahkan bukan hanya untuk skema tunggal.Anda dapat menambahkan parameter
-n [schema name]
Komentar parameter ini dikatakan:sumber
* Contoh dasar:
Saya membuat file "dump.bat" & "restore.bat" di jendela untuk dump / restore
1 / Cadangan:
Hasil:
* Catatan: beberapa opsi penting:
2 / Pulihkan:
"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"
(**)(**) Pada kenyataannya, jika file format Anda adalah * .sql, Anda dapat menggunakan pgAdmin (atau psql) untuk memulihkan. Anda harus menggunakan pg_restore untuk mengembalikan file .tar ( .bakup ...)
sumber
--schema-only
, data harus di dump atau Anda mungkin tidak memiliki hak istimewa untuk memilih isi tabel.Saya menulis skrip yang membuat ini sepele. Mudah mengekspor fungsi SQL dan skema tabel ke
*.sql
file individual . Memudahkan untuk mengelola, mencadangkan, dan mengontrol sumber:https://gist.github.com/dantheman213/aff70ee42a11f2d1fa46983878cd62e1
sumber
Ini dapat digunakan untuk mengambil cadangan skema
Ini dapat digunakan untuk mengembalikan DB
sumber