首页主机资讯centos pgadmin恢复步骤有哪些

centos pgadmin恢复步骤有哪些

时间2025-11-10 11:48:04发布访客分类主机资讯浏览387
导读:CentOS系统下pgAdmin恢复PostgreSQL数据库的常见步骤 一、准备工作 确认备份文件:确保已获取有效的备份文件(逻辑备份如.sql、.backup,或物理备份目录)。 停止目标数据库(可选):若恢复整个数据库,建议先停止目...

CentOS系统下pgAdmin恢复PostgreSQL数据库的常见步骤

一、准备工作

  1. 确认备份文件:确保已获取有效的备份文件(逻辑备份如.sql.backup,或物理备份目录)。
  2. 停止目标数据库(可选):若恢复整个数据库,建议先停止目标数据库以避免冲突(systemctl stop postgresql)。
  3. 检查PostgreSQL服务状态:确保PostgreSQL服务运行正常(systemctl status postgresql)。

二、使用pgAdmin图形界面恢复(逻辑备份)

  1. 连接服务器:启动pgAdmin,输入PostgreSQL服务器的IP、端口(默认5432)、用户名(如postgres)及密码,点击“保存”连接。
  2. 选择目标数据库:在左侧导航栏展开“Servers”→选中目标服务器→展开“Databases”→右键点击需要恢复的数据库(或新建一个空数据库作为恢复目标)。
  3. 启动恢复流程:选择“Restore”(恢复)选项,弹出恢复对话框。
  4. 配置恢复参数
    • 备份文件:点击“Choose File”选择本地或远程的备份文件(如.sql.backup格式);
    • 恢复选项:根据需求调整(如“Owner”选择数据库所有者、“Database”确认目标数据库名称);
    • 高级设置(可选):如需覆盖现有数据,可勾选“Clean”(清空目标数据库)。
  5. 执行恢复:点击“Restore”按钮,pgAdmin会在后台调用pg_restorepsql工具执行恢复,等待进度条完成。

三、使用命令行工具恢复(逻辑/物理备份)

1. 逻辑备份恢复(适用于.sql或自定义格式备份)
  • 语法
    psql -h <
        主机名>
         -U <
        用户名>
         -d <
        目标数据库名>
         -f <
        备份文件路径>
        
    
  • 示例(恢复mydb_backup.sqlmydatabase数据库):
    psql -h localhost -U postgres -d mydatabase -f /path/to/mydb_backup.sql
    
  • 说明:执行后会提示输入PostgreSQL用户密码,恢复完成后会显示执行的SQL语句数量。
2. 物理备份恢复(适用于pg_basebackup生成的目录备份)
  • 语法
    pg_basebackup -h <
        主机名>
         -U <
        用户名>
         -D <
        恢复目录路径>
         -P -X stream -R
    
  • 示例(将备份恢复到/var/lib/pgsql/15/data目录):
    pg_basebackup -h localhost -U postgres -D /var/lib/pgsql/15/data -P -X stream -R
    
  • 说明-R参数会自动配置postgresql.conf中的restore_command,适用于基于时间点恢复(PITR)的场景。

四、使用pg_rman工具恢复(支持PITR)

若需要基于时间点的恢复(如恢复到某一具体时间),可使用pg_rman工具(适用于PostgreSQL 12及以上版本)。

  1. 安装pg_rman
    wget https://github.com/ossc-db/pg_rman/releases/download/v1.4.0/pg_rman-1.4.0-pg15-centos7.x86_64.rpm
    sudo yum install -y pg_rman-1.4.0-pg15-centos7.x86_64.rpm
    
  2. 配置PostgreSQL
    编辑postgresql.conf(通常位于/var/lib/pgsql/15/data/),添加以下参数:
    wal_level = replica
    archive_mode = on
    archive_command = 'test ! -f /path/to/archive/%f &
        &
         cp %p /path/to/archive/%f'
    max_wal_senders = 10
    
    重启PostgreSQL使配置生效:systemctl restart postgresql
  3. 初始化pg_rman备份目录
    pg_rman init -B /path/to/backup_dir
    
  4. 执行恢复
    pg_rman recover -B /path/to/backup_dir --target-time="2025-11-01 12:00:00"
    
    • --target-time:指定恢复到的时间点(如2025-11-01 12:00:00),若省略则恢复到最新备份。

五、恢复后验证

  1. 检查数据库状态:登录pgAdmin或使用psql查看目标数据库是否存在。
  2. 验证数据完整性:查询关键表的数据,确认恢复结果符合预期。
  3. 清理临时文件:若恢复成功,可删除备份文件或归档目录中的旧文件以释放空间。

注意事项

  • 恢复操作前务必备份当前数据库,防止误操作导致数据丢失;
  • 测试环境优先验证恢复流程,确保备份文件可用;
  • 物理备份恢复需确保PostgreSQL版本与备份时的版本一致,避免兼容性问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos pgadmin恢复步骤有哪些
本文地址: https://pptw.com/jishu/746091.html
centos里sqladmin如何导入导出数据 CentOS Dropped为何发生

游客 回复需填写必要信息