温馨提示×

centos postgresql备份方法

小樊
35
2025-03-01 19:04:24
栏目: 云计算
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS系统上备份PostgreSQL数据库,通常有两种主要方法:逻辑备份和物理备份。以下是详细的备份方法:

逻辑备份

逻辑备份使用pg_dump命令,它可以将数据库中的数据和结构导出为SQL脚本文件。这种方式不会阻塞数据库的正常运行。

备份命令示例:

pg_dump -U username -h hostname -p port -F t -f backup_file_name database_name
  • -U username: 数据库用户名。
  • -h hostname: 数据库服务器的主机名或IP地址。
  • -p port: 数据库服务器的端口号。
  • -F t: 指定输出格式为自定义格式。
  • -f backup_file_name: 输出备份文件的名称。
  • database_name: 要备份的数据库名称。

恢复命令示例:

pg_restore -U username -h hostname -p port -d database_name backup_file_name
  • -d database_name: 要恢复的数据库名称。
  • 其他选项与备份命令类似。

物理备份

物理备份通常使用pg_basebackup命令,它不仅可以备份数据文件,还可以备份WAL日志,从而提供更快的恢复速度。

备份命令示例:

pg_basebackup -U username -h hostname -p port -d /path/to/backup -F t -z -P
  • -d /path/to/backup: 备份存储路径。
  • -F t: 输出格式为tar压缩格式。
  • -z: 对备份文件进行压缩。
  • -P: 显示进度信息。

自动备份脚本

为了定期自动备份,可以创建备份脚本并使用Cron任务定时执行。

备份脚本示例(bak_data_10.0.61.22.sh):

#!/bin/bash
# 定义备份路径和时间戳
BACKUP_DIR="/path/to/backup/directory"
TIMESTAMP=$(date %Y%m%d%H%M%S)

# 执行备份
pg_dump -U postgres -h 127.0.0.1 -p 5432 -F t -f $BACKUP_DIR/postgres_$TIMESTAMP.sql mydb

# 压缩备份文件
gzip $BACKUP_DIR/postgres_$TIMESTAMP.sql

设置定时任务:

crontab -e

添加如下行以每天凌晨执行备份:

0 0 * * * /path/to/backup_script.sh

注意事项

  • 在执行备份前,请确保有足够的磁盘空间。
  • 定期检查备份文件的完整性和可恢复性。
  • 对于大型数据库,逻辑备份可能需要较长时间,请根据实际需求选择备份方式。

通过上述方法,您可以在CentOS系统上有效地备份和恢复PostgreSQL数据库,确保数据的安全性和业务的连续性。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:centos postgresql安全设置

0