ejabberd PostgreSQL 聊天持久化表

Posted

技术标签:

【中文标题】ejabberd PostgreSQL 聊天持久化表【英文标题】:ejabberd PostgreSQL chat persistence table 【发布时间】:2015-06-26 09:04:02 【问题描述】:

我在我的 ejabberd 中使用 odbc auth_method 并使用 postgres 作为我的数据库。我需要查看数据库中两个用户之间的聊天记录(消息)。

按照以下步骤操作:

1) CREATEDB myejabberd;

2) psql myejabberd /to/my/pg.sql

3) 创建用户 ejabberduser;

4) 我评论了auth_method: odbc 并启用了auth_method: odbc

5) 对于 ODBC 配置,使用 postgres 我启用了这个

odbc_type: pgsql odbc_server: "localhost" odbc_database: "myejabberd" odbc_username: "ejabberduser" odbc_password: "ejabberd"

6) 我尝试运行管理员http://localhost:5280/admin。它工作正常,我在使用 Adium 的两个用户之间做了一些。

我可以在users 表中看到注册用户,但我无法找到存储聊天记录的表。

请帮忙。谢谢

【问题讨论】:

【参考方案1】:

默认情况下,消息历史不会存储在数据库中。

您可能需要查看消息存档管理(XEP-0313,又名 MAM)XMPP 扩展,在 ejabberd 15.06 中受支持。

您可以使用mod_mam (Message Archive Management - XEP-0313) 模块。它工作完美。并且不要忘记将默认选项添加为alwaysroster。默认为never

【讨论】:

嘿 Mickael,我检查了终端中的 modules_available。它显示了 ejabberd_mod_mam 模块。我试图安装它,但它没有得到安装。我有什么需要做的吗?? ejabberd 15.06 中已经提供了它。您应该下载并使用该版本。 谢谢mickeal,mod_mam 为我工作,我忘记添加默认**默认:始终**选项。现在效果很好:) 而且我正在用几行编辑你的答案

以上是关于ejabberd PostgreSQL 聊天持久化表的主要内容,如果未能解决你的问题,请参考以下文章

使用 ejabberd 进行限时聊天

Ejabberd 聊天服务集成

安排任务每天在 eJabberd 服务器上运行?

Ejabberd集群聊天不起作用

Ejabberd:禁用请求接受/取消与其他用户聊天

如何使用 ejabberd 聊天应用程序通过 API 层传递服务器