Linux版pgAdmin备份数据方法
打开pgAdmin并连接服务器
启动pgAdmin应用程序,在左侧“服务器”窗格中展开服务器节点,输入连接信息(如主机名、端口、用户名、密码)连接到目标PostgreSQL服务器。
选择目标数据库
在左侧导航栏的“Databases”目录下,找到需要备份的数据库,右键单击该数据库图标。
启动备份流程
在右键菜单中选择“备份…”选项,弹出“备份数据库”对话框。
配置备份选项
/home/user/pg_backups/
)并输入文件名(如mydb_backup.backup
)。-Fc
参数);-Fp
参数)。开始备份
点击“Backup”按钮,pgAdmin将执行备份操作。完成后,弹出提示框显示“Backup completed successfully”(备份成功),点击“OK”关闭对话框。
若需自动化备份(如定时任务),可使用pgAdmin内置的命令行工具pg_dump
(备份单个数据库)或pg_dumpall
(备份整个集群)。
备份单个数据库(逻辑备份)
打开终端,执行以下命令:
pg_dump -h localhost -U postgres -Fc -f /path/to/backup_file.backup database_name
参数说明:
-h
:数据库服务器地址(本地为localhost
);-U
:数据库用户名(如postgres
);-Fc
:指定自定义格式(支持压缩);-f
:备份文件输出路径;database_name
:需备份的数据库名称。备份整个集群(包括角色、表空间)
若需备份PostgreSQL集群的所有数据库(包括用户角色、表空间等),使用pg_dumpall
命令:
pg_dumpall -U postgres -Fc -f /path/to/all_databases_backup.backup
参数说明与pg_dump
类似,备份文件包含所有数据库的创建脚本和全局对象信息。
物理备份(可选,需停机)
若需备份数据库文件系统(如数据目录),可在数据库停机状态下使用tar
命令:
tar -czvf /path/to/physical_backup.tar.gz /var/lib/pgsql/data/
注意:物理备份需停止PostgreSQL服务(systemctl stop postgresql
),恢复时需替换数据目录并重启服务,适用于灾难恢复场景。
postgres
)具有目标数据库的READ
权限,备份目录具有写入权限(可通过chmod
命令设置)。pg_restore
尝试恢复到测试数据库),确保备份可用。backup_pg.sh
),使用crontab
设置定时任务(如每天凌晨2点执行):# 编辑crontab crontab -e # 添加以下内容(每天凌晨2点执行备份脚本) 0 2 * * * /path/to/backup_pg.sh
脚本示例(backup_pg.sh
):#!/bin/bash export PGPASSWORD="your_password" pg_dump -h localhost -U postgres -Fc -f /pg_backups/$(date +%Y%m%d).dump mydatabase