4.7.2. 在 PostgreSQL 服务器上恢复文件系统备份
如果您的 PostgreSQL 实例已损坏,并且您之前执行了包含数据目录的文件系统备份,您可以从此备份中恢复实例。
先决条件
- 您在 PostgreSQL 服务器上执行文件系统备份。
目标服务器必须满足备份源的以下条件:
- PostgreSQL 版本必须相同。
- 系统架构必须相同。
流程
停止
postgresql服务:# systemctl stop postgresql.service删除当前的
/var/lib/pgsql/目录:# rm -rf /var/lib/pgsql/从备份中恢复数据目录:
# cp -rp /root/postgresql-backup/pgsql/ /var/lib/确保
/var/lib/pgsql/目录的正确所有权:# chown -R postgres:postgres /var/lib/pgsql/恢复
/var/lib/pgsql/目录的 SELinux 上下文:# restorecon -Rv /var/lib/pgsql/启动
postgresql服务:# systemctl start postgresql.service
验证
-
以
postgres用户身份登录。 连接到数据库:
$ psql <database>访问数据库中的数据:
<database>=# SELECT * FROM <table>;断开与 PostgreSQL 服务的连接:
<database>=# \q