准备工作
打开pgAdmin并连接到目标PostgreSQL服务器,确保具备数据库备份权限(如postgres超级用户或具有BACKUP权限的角色)。
选择备份对象
在pgAdmin左侧导航栏中,展开“服务器”节点→选择目标服务器→展开“Databases”→右键点击需要备份的数据库(如mydb)。
启动备份流程
在右键菜单中选择**“备份…”**,弹出“备份”对话框。
配置备份参数
mydb_backup_20251028);/var/lib/pgsql/backups/,需提前创建目录并赋予写入权限);6,平衡速度与体积)、是否包含OID(默认不选)、是否添加DDL语句(默认选中)。执行备份
确认所有设置无误后,点击**“备份”**按钮。pgAdmin会在右下角显示进度条,完成后提示“备份成功”。
准备工作
登录pgAdmin并连接到目标服务器,确保具备目标数据库的写入权限(如postgres用户或数据库所有者)。
选择恢复目标
在左侧导航栏中,展开“服务器”→选择目标服务器→展开“Databases”→右键点击需要恢复的目标数据库(如mydb_restore,需提前创建,若未创建可通过“创建→数据库”操作生成)。
启动恢复流程
在右键菜单中选择**“恢复…”**,弹出“恢复”对话框。
配置恢复参数
archive_mode)、“失败后继续恢复”(默认选中)、“覆盖现有对象”(默认选中)。执行恢复
点击**“恢复”**按钮,pgAdmin会开始恢复过程。完成后,可通过“查询工具”验证数据是否恢复成功。
若需自动化备份或处理大规模数据,可使用命令行工具(需安装postgresql-contrib包):
逻辑备份(pg_dump):
pg_dump -h localhost -U postgres -Fc mydb > /var/lib/pgsql/backups/mydb_backup.dump
参数说明:-Fc表示自定义格式(支持压缩),>指定备份文件路径。
逻辑恢复(pg_restore):
pg_restore -h localhost -U postgres -d mydb_restore /var/lib/pgsql/backups/mydb_backup.dump
物理备份(pg_basebackup):
适用于全库备份(需停止写入),命令示例:
pg_basebackup -h localhost -U postgres -D /var/lib/pgsql/backup -P -X stream -R
参数说明:-D指定备份目录,-R自动生成recovery.conf(PostgreSQL 12+版本无需此参数)。
postgres超级用户或数据库所有者)。crontab设置定时任务(如每天凌晨2点执行备份脚本),实现自动备份。