# Discourse 如何下载备份并恢复本地数据库

**URL:** <https://www.isharkfly.com/t/discourse/14963>\
**Category:** Discourse\
**Tags:** discourse\
**Created:** [September 14, 2023, 5:20pm UTC](https://www.isharkfly.com/t/discourse/14963 "2023-09-14T17:20:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [September 14, 2023, 5:20pm UTC](https://www.isharkfly.com/t/discourse/14963/1 "2023-09-14T17:20:05Z")

</div>

进入网站的备份界面，会看到当前所有的备份情况。

 ![2023-09-14_13-15-27](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/a/a26565a899a3febcf12aa008e0f767b733045f45.png)

单击下载按钮。

需要注意的是，当你下载后，系统将会发送一个链接到你的邮箱地址中。

你可以使用邮箱地址中收到的链接进行数据下载。

 ![2023-09-14_13-15-51](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/3/3aae6ce5380f301fa238264d2ecb125e0f16849d.png)

## 下载链接

单击邮件中收到的下载链接地址进行下载。

 ![2023-09-14_13-17-04](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/8/8f9e3dd806c43c47799f8a946a53509c1dccaf42.png)

下载的文件为一个 tar.gz 文件，你需要解压后才可以用。

例如，我们当前的下载文件为：isharkfly-2023-09-14-092024-v20230910021213.tar

经过一系列复杂的解压路径后可以看到 dump.sql 这个文件。

这个文件就是你的所有数据库备份了。

## 数据恢复

Windows 下 PQadmin 的 psql 安装路径为：C:\Users\yhu\AppData\Local\Programs\pgAdmin 4\v7\runtime

我们的运行命令为：`psql -h nas1120 -p 5433 -U postgres -W -d discourse -f C:\Users\yhu\Downloads\isharkfly-2023-09-14-092024-v20230910021213\isharkfly-2023-09-14-092024-v20230910021213\dump.sql\dump.sql`

本地的数据库在恢复的时候没有办法重复覆盖。

如果你本地数据库已经存在的话，需要清空本地存在的数据库才能进行恢复。

备份恢复的过程需要恢复所有的数据和表结构。

恢复程序没有办法在已有的数据结构上进行恢复，并且进行增量恢复。

## 检查表数据

检查表数据，确定一些表数据已经恢复到当前。

 ![2023-09-14_13-57-22](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/b/bec4a04659dc8f1cb2c931e0bf9cce3a51b53202.png)

时间戳通常来说是比较好的校验方式。
