Наиболее эффективный способ перемещения баз данных psql
Вопрос
Какой наиболее эффективный и безопасный способ передать содержимое базы данных PostgresSQL в сжатый tarfile, а затем скопировать на другой компьютер?
Это можно было бы использовать для разработки локального хостинга или резервного копирования на удаленный сервер, используя компьютеры на базе * nix на обоих концах.
Решение
pg_dump действительно является правильным решением.Обязательно прочтите справочную страницу.В примере Espo некоторые варианты сомнительны (-x и -D) и могут вам не подойти.
Как и при любых других манипуляциях с базой данных, проводите много тестов!
Другие советы
Эта страница имеет полный сценарий резервного копирования для веб-сервера, включая вывод pg_dump.
Вот синтаксис, который он использует:
BACKUP="/backup/$NOW"
PFILE="$(hostname).$(date +'%T').pg.sql.gz"
PGSQLUSER="vivek"
PGDUMP="/usr/bin/pg_dump"
$PGDUMP -x -D -U${PGSQLUSER} | $GZIP -c > ${BACKUP}/${PFILE}
После того, как вы загрузили его в архив, вы можете перенести его на другой сервер с помощью scp, rsync или nfs в зависимости от вашей сети и сервисов.