PostgreSQL数据库备份方法主要有以下几种:
逻辑备份
- pg_dump:用于备份单个数据库或部分表。可以选择备份整个数据库、特定表或模式。支持多种备份格式(如SQL、自定义等),并且可以在任何可以访问数据库的远端主机上进行备份。备份过程中不会阻塞其他用户访问,但会阻塞需要排它锁的操作。
- pg_dumpall:由超级用户执行,备份整个数据库集群(包括所有数据库和全局对象),生成纯文本SQL脚本。
- COPY命令:用于在表与文件之间进行相互拷贝,适合数据库管理员使用;\COPY命令在客户端操作数据文件,对权限要求较低。
物理备份
- 冷备份:使用操作系统支持的各种拷贝命令,把整个PGDATA备份。建议在干净的关闭数据库后进行冷备份,以节省迁移时间并提高安全性。
- 热备份:基于时间点的备份恢复,可以在数据库运行时进行备份。
备份格式
- Custom格式:自定义格式,适用于需要精细还原的场景。
- Tar格式:打包成tar文件,便于存储和传输。
- Directory格式:备份输出为一个文件夹,还原时路径也是指定到该文件夹。
- Plain格式:备份输出为一个SQL文件,不能使用pg_restore进行恢复,但可以用psql命令进行。
除了上述方法,还可以使用pgAdmin工具进行数据库备份与恢复,pgAdmin提供了图形化界面,方便用户进行备份操作。