Відповіді:
Ви можете використовувати pg_dump
так:
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
Спочатку подумайте, щоб встановити .pgpass
файл, який містить паролі, які слід використовувати, якщо для з'єднання потрібен пароль. Цей файл повинен мати рядки наступного формату:
hostname:port:database:username:password
І кожне з перших чотирьох полів може мати буквальне значення, або *, що відповідає будь-якому. Наприклад: *:*:*:postgres:pg_password
.
Цей .pgpass
файл повинен міститись у домашньому каталозі ~ /, і дозволи на нього повинні забороняти будь-який доступ до світу чи групи; досягти цього командою
chmod 0600 ~/.pgpass
.
Запустити pg_dumpall з cron.
Спробуйте AutoPostgreSQLBackup . Це єдиний файл сценарію, його можна легко налаштувати під ваші потреби, робить щоденне, щотижневе та щомісячне планування, журнали за електронною поштою, файл журналу або stdout тощо.
Якщо це досить невелика база даних, і такі низькі вимоги до резервної копії, як раз на день, просто запустіть pg_dump від cron до дампу у локальний файл, а потім скористайтеся всіма необхідними для резервного копіювання файлів на машині, щоб архівувати дамп .
Спробуйте безпечно . Він знає, як створити резервну копію mysql (mysqldump), postgres (pg_dump) або просто прості файли (tar) із шифруванням (gnupg) та завантаженням у S3 / Sftp.
pg_dump - це приємне рішення, але якщо ви намагаєтесь створити резервну копію багатьох даних, можливо, це може допомогти:
http://www.postgresql.org/docs/8.1/static/backup-online.html
що насправді є своєрідним "сировинним" веденням журналу, але це може бути корисно як метод додаткового резервного копіювання ...
Це сценарій, який створить резервну копію кожної бази даних окремо, а також часто забуваючу, але важливу PostgreSQL GLOBALS та інформацію про вхід користувачів.
Важливість цього полягає в тому, щоб скористатися стисненням, яке не надає pg_dumpall, і затримані дані, які pg_dump ігнорує.
Для цього знадобиться параметр pgpass або подібне налаштування, як описано тут http://wiki.postgresql.org/wiki/Pgpass
Це налаштування для OSX, але просто змініть шляхи програми, і воно буде добре працювати.
Резервне копіювання до / sqlbackups Сценарій поверне розмір / каталог та має точки проходу, які повернуть не нульовий стан, якщо він не вдасться. Я використовував його в поєднанні з pgAgent для щоденного резервного копіювання.
Сценарій відредагований, вибачте за це :(
Навіщо влаштовуватись із щоденним резервним копієм, коли ви можете легко отримати своєчасне відновлення з барменом ?
Як говорили інші: pg_dumpall.
Також погляньте на доставку журналів. Тоді ви можете отримати більше конкретних резервних копій, які можна відтворити: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html
А як щодо розділу про резервні копії в посібнику: