PostgreSQL数据库备份还原
备份
PostgreSQL数据库备份推荐使用自带的pg_dump,类似Mysql的mysqldump,以下命令为备份数据库并压缩:
1 | pg_dump --username=postgres --host=localhost --dbname=DATABASE | xz -9 > DATABASE.sql.xz |
也可以使用pg_dumpall命令把所有数据库都dump出来:
1 | pg_dumpall --username=postgres --host=localhost | xz -9 > DATABASE.sql.xz |
还原
还原使用psql命令还原:
1 | unxz -c DATABASE.sql.xz | psql -U 用户名 -h localhost DATABASE |
备份脚本
创建备份脚本dbbackup.sh,使用crontab来每日调用一次,实现自动备份数据库:
1 |
|
给dbbackup.sh添加可执行权限:
1 | chmod +x dbbackup.sh |
最后在crontab中设置自动执行备份脚本:
1 | 0 0 * * * /your/dbbackup/path/dbbackup.sh |
PostgreSQL数据库备份还原