Самый эффективный способ перемещения баз данных PSQL
Каков наиболее эффективный и безопасный способ передать содержимое базы данных postgresSQL в сжатый файл tarfile, а затем скопировать его на другой компьютер?
Это будет использоваться для разработки локального хостинга или резервного копирования на удаленный сервер с использованием машин *nix на обоих концах.
2 ответа
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 в зависимости от вашей сети и услуг.