Yanıtlar:
Bunun gibi kullanabilirsiniz pg_dump
:
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
Lütfen .pgpass
bağlantı için bir şifre gerekiyorsa kullanılacak şifreleri içeren dosyayı ayarlamayı düşünün . Bu dosya aşağıdaki biçime sahip satırlara sahip olmalıdır:
hostname:port:database:username:password
Ve ilk dört alanın her biri değişmez bir değer veya herhangi bir şeyle eşleşen * olabilir. Örneğin: *:*:*:postgres:pg_password
.
Bu .pgpass
dosya ~ / giriş dizininde bulunmalı ve üzerindeki izinler dünyaya veya gruba erişime izin vermemelidir; bunu komutla başar
chmod 0600 ~/.pgpass
.
Cron'dan pg_dumpall komutunu çalıştırın.
AutoPostgreSQLBackup'ı deneyin . Tek bir komut dosyasıdır, ihtiyaçlarınıza göre yapılandırılabilir, günlük, haftalık ve aylık zamanlama, e-posta başına günlükler, günlük dosyası veya stdout vb.
Oldukça küçük bir veritabanı ve yedeklemede günde bir kez olduğu gibi düşük gereksinimler varsa, yerel bir dosyaya dökmek için cron'dan pg_dump komutunu çalıştırın ve daha sonra dökümü arşivlemek için makinedeki dosyaları yedeklemek için ne gerekiyorsa kullanın. .
pg_rman , PostgreSQL 8.4 veya daha yeni sürümler için çalışan artımlı yedeklemeler sunan yeni bir araçtır.
Güvenli kasetleri deneyin . Mysql (mysqldump), postgres (pg_dump) veya sadece şifreleme (gnupg) ile düz dosyaların (tar) nasıl yedekleneceğini ve S3 / Sftp'ye nasıl yükleneceğini bilir.
pg_dump güzel bir çözümdür, ancak çok fazla veri yedeklemeye çalışıyorsanız, belki de bu yardımcı olabilir:
http://www.postgresql.org/docs/8.1/static/backup-online.html
aslında bir tür 'ham' günlük kaydıdır, ancak bu artımlı bir yedekleme yöntemi olarak faydalı olabilir ...
Bu, her veritabanını tek tek yedekleyecek ve genellikle unutulan ama önemli PostgreSQL GLOBALS ve kullanıcı giriş bilgilerinin yedekleneceği bir komut dosyasıdır.
Bunun önemi pg_dumpall'ın sağlamadığı sıkıştırmadan ve pg_dump'ın göz ardı ettiği unutulmuş verilerden yararlanmaktır.
Bu, burada açıklandığı gibi bir pgpass veya benzeri bir kurulum gerektirir http://wiki.postgresql.org/wiki/Pgpass
Bu OSX için ayarlanmıştır, ancak sadece Program yollarını değiştirin ve iyi çalışır.
/ Sqlbackups değerine kadar yedekleme Komut dosyası dizin boyutunu / dizinini döndürür ve başarısız olursa sıfır olmayan bir durum döndürecek kesme noktalarına sahiptir. Günlük yedeklemeler yapmak için pgAgent ile birlikte kullandım.
Script düzeltildi, bunun için üzgünüm :(
Barmen ile zaman içinde anında kurtarma yapabildiğinizde neden günlük bir yedekleme ile yerleşmelisiniz ?
Diğerleri söylediler: pg_dumpall.
Ayrıca, günlük gönderimine bir göz atın. Ardından, oynatabileceğiniz daha fazla anlık yedeklemeler alabilirsiniz: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html
Veya kılavuzdaki yedeklemelerle ilgili bölüme ne dersiniz: