最近几天我注意到 OS X Server 上的 Wiki 服务器似乎崩溃了。
当我访问 wiki 网站时,我收到以下消息:
Caught exception "Connection to DB failed" [CSDatabaseError] executing route /app-context/wiki:
(
0 CoreFoundation 0x00007fff8fb4003c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff8f74d76e objc_exception_throw + 43
2 CSService 0x00000001045eb5cf -[CSConnectionPool openConnection] + 3357
3 CSService 0x00000001045ebfbe -[CSConnectionPool currentConnection] + 98
4 CSService 0x000000010466d687 -[CSAuthService unauthenticatedSession] + 82
5 CSService 0x000000010466dc56 -[CSAuthService currentOrNewSession] + 151
6 CSService 0x000000010465efad +[CSHTTPRouteHelper setCurrentSessionForRequest:] + 267
7 CSService 0x00000001046736aa __27-[CSAppContextService init]_block_invoke234 + 107
8 CSService 0x000000010465aaf4 __53-[CSRoutingHTTPConnection httpResponseForMethod:URI:]_block_invoke + 92
9 CSService 0x000000010465e0ea -[CSHTTPBackgroundResponse bounce:] + 284
10 Foundation 0x00007fff94896dc2 __NSThread__main__ + 1345
11 libsystem_pthread.dylib 0x00007fff8dba9268 _pthread_body + 131
12 libsystem_pthread.dylib 0x00007fff8dba91e5 _pthread_body + 0
13 libsystem_pthread.dylib 0x00007fff8dba741d thread_start + 13
)
重新启动服务器后,一切恢复正常。
我觉得 SQL-Server 退出了。我可以使用命令行重新启动它吗?因为我不想重新安装服务器应用程序,因为我做了许多设置,坦率地说,这不值得花时间,因为我希望这个问题能通过即将到来的更新得到解决。
谢谢
答案1
Server.app 中的 Wiki 服务使用 PostgreSQL 作为数据库。我刚刚遇到了这个问题,但我无需重启服务器就能修复它。
在 Server.app 中关闭 Wiki 服务。验证提供 wiki 服务的 postgresql 实例是否实际未运行:
% ps auwwx | grep postgr | grep teamserv
<should show no processes returned>
检查 /Library/Server/Wiki/PostgresSocket 中是否存在陈旧文件并将其删除。
I had the following stale file:
.xpg_ctl.pid -> 80019
PostgreSQL 数据库集群位于
/Library/Server/Wiki/Database.xpg/Cluster.pg
在我的例子中,pg_hba.conf 文件有 200K 行,显然生成它的某个脚本出了问题。我删除了该行以下的所有内容
local replication all trust
然后我打开 Wiki 服务,访问 wiki,并且数据库启动成功。