From 7ca53b95a2d760fed99b03133149f241dc624b0f Mon Sep 17 00:00:00 2001
From: dokuwiki <hello@example.com>
Date: Sat, 23 Jan 2021 16:27:51 +0000
Subject: [PATCH] Wiki page zh-search changed with summary [caution] by shykana

---
 pages/pleroma/zh-search.txt | 30 ++++++++++++++++++++++++++----
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/pages/pleroma/zh-search.txt b/pages/pleroma/zh-search.txt
index 433194b..e49ef83 100644
--- a/pages/pleroma/zh-search.txt
+++ b/pages/pleroma/zh-search.txt
@@ -2,9 +2,12 @@
 
 **注意!本页面只是记录配置的可能思路,完全没有验证过思路的可行性!请谨慎考量!请谨慎考量!请谨慎考量!**
 
+**因为这个思路目前还没走通。这部分内容可能需要操作者对 postgresql 有相当的熟悉度才能进行。**
+
 **(请做好备份!请做好备份!请做好备份!)**
 
-**另外,动了搜索配置后,Pleroma 的备份以及恢复可能会有更多的问题。但因我的实例并不是全新安装,没有成功配置,所以此处可能不能继续尝试解决方案。这方面也请谨慎考量。请谨慎考量。**
+**另外,动了搜索配置后,Pleroma 的备份以及恢复可能会有更多的问题。但因我的实例并不是全新安装,没有成功配置,所以此处可能不能继续尝试解决方案。这方面也请谨慎考量。请谨慎考量。请谨慎考量。**
+**在尝试时,最好也尝试配置完中文搜索后,再进行备份,再尝试恢复新备份。因为新的备份包含中文搜索的信息,所以恢复时可能也需要额外配置。我没能尝试这部分的操作。个人建议是将这些后续操作都尝试确定无误后再到真正的日用服务器上应用。**
 
 ===== Pleroma 搜索系统 =====
 
@@ -79,7 +82,26 @@ su pleroma -s $SHELL -lc "./bin/pleroma_ctl migrate"
 
 ===== 已有安装的配置思路 =====
 
-**警告:我之前按这个思路尝试配置时失败了。可能与 ''postgresql'' 本身的一些默认配置以及配置的各种依赖关系有关。<del>炸服务器时</del>尝试时请做好备份。请做好备份。请做好备份。**
+**警告:我之前按这个思路尝试配置时失败了。可能与 ''postgresql'' 本身的一些默认配置以及配置的各种依赖关系有关。<del>炸服务器时</del>尝试时请做好备份。请做好备份。请做好备份。(不仅要备份数据库,还要备份 config.exs 等配置文件,详见 [[https://docs-develop.pleroma.social/backend/administration/backup/|官网教程]] 。)**
+
+==== 失败的一些笔记 ====
+
+姑且在这里放一些失败的尝试,希望能有所帮助。(在尝试前还是请做好备份。)(只是尝试的话还是推荐不要用数据过多的服务器,否则数据恢复会很慢,要等半天才能知道到底是否出错了。)
+
+一般来说出错都是在恢复数据时出错,可以通过:
+<code>
+sudo -Hu postgres psql -c 'DROP DATABASE <pleroma_db>;';
+sudo su postgres -s $SHELL -lc "psql -f /tmp/setup_db.psql"
+</code>
+来清除对数据库做的更改。
+
+我当时的一个尝试是修改 postgresql 的默认搜索配置,在 ''/etc/postgresql/12/main/postgresql.conf'' 或其它路径的配置文件中找到 ''default_text_search_config'' 一项,修改为:
+<code>
+default_text_search_config = 'public.jiebaqry'
+</code>
+这个在当时似乎可以让数据的恢复进度增加,但是在之后又会遇到新的出错。
+
+我当时因为配置有点问题(我在备份前就修改了数据库),所以会有额外出错。(这也是我认为中文搜索配置会让数据的备份和恢复变得困难的原因。)这个应该大家大概率不会用到,但是说不定在配置中文搜索后的备份和恢复时需要用到。这个时候可以使用备份数据的 ''目录(Table of Contents)'' 来达到跳过出错语句的目的。可以参考 [[https://stackoverflow.com/a/39831653|https://stackoverflow.com/a/39831653]] 。请在确认出错语句不包含必要信息后再操作。
 
 ==== 一、备份 pleroma ====
 
@@ -91,10 +113,10 @@ su pleroma -s $SHELL -lc "./bin/pleroma_ctl migrate"
 
 ==== 三、配置搜索配置 ====
 
-数据库也重建一下,用来把索引列清掉。
+数据库也重建一下,用来把索引列清掉。(按官方教程重装时应该会有一个 ''/tmp/setup_db.psql'' 的文件,需要使用这个文件。)
 <code>
 sudo -Hu postgres psql -c 'DROP DATABASE <pleroma_db>;';
-sudo -Hu postgres psql -c 'CREATE DATABASE <pleroma_db>;';
+sudo su postgres -s $SHELL -lc "psql -f /tmp/setup_db.psql"
 </code>
 
 === 安装配置 ''pg_jieba'' ===
-- 
GitLab