pgsql 数据库 恢复备份

pg_dump -U username -F t -b -v -f "$BACKUP_DIR/$FILENAME" dbname

创建定时任务每日2点执行一次bash文件备份数据库。

#!/bin/bash
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d%H%M%S)
FILENAME="pgsql_backup_$DATE.sql"

# 全备份
pg_dump -U username -F t -b -v -f "$BACKUP_DIR/$FILENAME" dbname

# 或者,物理备份
# pg_basebackup -h hostname -U username -D "$BACKUP_DIR" -F t -P

crontab -e
0 2 * * * /path/to/your/script/backup_pgsql.sh

 

全量恢复整个备份

pg_restore -U myuser -d postgres  /backup

 

在 Kubernetes 上部署 PostgreSQL 数据库后,要恢复备份文件,请使用 Kubernetes 提供的 PostgreSQL 客户端工具,如 psqlpg_restore。以下是恢复备份文件的基本步骤: 1. 将备份文件复制到 Kubernetes 集群中。例如,使用 kubectl cp 命令将备份文件复制到名为 pg-backup 的 Pod 中: ```kubectl cp mydb_backup.sql pg-backup:/backup``` 这里的 mydb_backup.sql 是您要恢复备份文件的名称,pg-backup 是部署 PostgreSQL 数据库的 Pod 的名称,/backup 是备份文件在 Pod 中的路径。 2. 进入部署 PostgreSQL 数据库的 Pod。例如: ```kubectl exec -it pg-0 -- bash``` 这里的 pg-0 是部署 PostgreSQL 数据库的 Pod 的名称。 3. 使用 psqlpg_restore 工具恢复备份文件。例如,以下命令使用 psql 工具将备份文件还原到名为 mydb 的数据库中: ```psql -U <username> -h <host> -d mydb < /backup/mydb_backup.sql``` 这里的 <username> 和 <host> 分别是 PostgreSQL 数据库的用户名和主机。如果还原的备份文件是经过 pg_dumpall 工具生成的,则可以使用以下命令将备份文件还原到所有数据库中: ```psql -U <username> -h <host> -f /backup/all_databases_backup.sql``` 在这里,all_databases_backup.sql 是您要还原的备份文件的名称。 恢复完成后,您可以使用 psql 工具验证数据库是否已成功还原。例如,以下命令将连接到名为 mydb 的数据库并列出其中的表: ```psql -U <username> -h <host> -d mydb -c "\dt"``` 这里的 <username> 和 <host> 分别是 PostgreSQL 数据库的用户名和主机。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值