Jawaban:
Anda bisa menggunakan pg_dump
seperti ini:
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
Silakan pikirkan terlebih dahulu untuk mengatur .pgpass
file, yang berisi kata sandi yang akan digunakan jika koneksi memerlukan kata sandi. File ini harus memiliki baris dengan format berikut:
hostname:port:database:username:password
Dan masing-masing dari empat bidang pertama mungkin nilai literal, atau *, yang cocok dengan apa pun. Sebagai contoh: *:*:*:postgres:pg_password
.
.pgpass
File ini harus berada di direktori home ~ / dan izin di atasnya harus melarang akses ke dunia atau grup; capai ini dengan perintah
chmod 0600 ~/.pgpass
.
Jalankan pg_dumpall dari cron.
Coba AutoPostgreSQLBackup . Ini adalah file skrip tunggal, dapat dengan mudah dikonfigurasi untuk kebutuhan Anda, melakukan penjadwalan harian, mingguan dan bulanan, log per email, file log atau stdout, dll.
Jika ini adalah basis data yang cukup kecil, dan persyaratan yang begitu rendah pada cadangan hanya sekali sehari, jalankan pg_dump dari cron untuk dibuang ke file lokal, dan kemudian gunakan apa pun yang Anda punya untuk mencadangkan file pada mesin untuk mengarsipkan pembuangan. .
pg_rman adalah alat baru, yang menawarkan cadangan tambahan, yang berfungsi untuk PostgreSQL 8.4 atau lebih baru.
Coba aman-astrails . Ia tahu cara membuat cadangan mysql (mysqldump), postgres (pg_dump), atau hanya file biasa (tar) dengan enkripsi (gnupg) dan mengunggah ke S3 / Sftp.
pg_dump adalah solusi yang bagus, tetapi jika Anda mencoba membuat cadangan banyak data, mungkin ini dapat membantu:
http://www.postgresql.org/docs/8.1/static/backup-online.html
yang sebenarnya adalah semacam penebangan 'mentah', tapi itu bisa berguna sebagai metode cadangan tambahan ...
Ini adalah skrip yang akan mencadangkan setiap basis data secara individual dan juga GLOBAL PostgreSQL yang sering dilupakan tetapi penting dan info masuk pengguna.
Pentingnya ini adalah untuk mengambil keuntungan dari kompresi yang tidak disediakan pg_dumpall dan data yang terlupakan yang diabaikan oleh pg_dump.
Ini akan membutuhkan pgpass atau pengaturan serupa seperti yang dijelaskan di sini http://wiki.postgresql.org/wiki/Pgpass
Ini adalah pengaturan untuk OSX tetapi hanya mengubah jalur Program dan itu akan berfungsi dengan baik.
Kembali ke / sqlbackups Script akan mengembalikan ukuran direktori / direktori dan memiliki breakpoint yang akan mengembalikan status bukan nol jika gagal. Saya menggunakannya dalam kombinasi dengan pgAgent untuk melakukan backup harian.
Script dihapus, maaf soal itu :(
Mengapa puas dengan cadangan harian ketika Anda dapat dengan mudah memiliki pemulihan point-in-time dengan bartender ?
Seperti yang orang lain katakan: pg_dumpall.
Juga, lihat pengiriman log. Kemudian Anda bisa mendapatkan lebih banyak backup point-in-time yang dapat Anda putar ulang: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html
Atau bagaimana dengan bagian tentang cadangan dalam manual: