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) 模块。它工作完美。并且不要忘记将默认选项添加为always
或roster
。默认为never
【讨论】:
嘿 Mickael,我检查了终端中的 modules_available。它显示了 ejabberd_mod_mam 模块。我试图安装它,但它没有得到安装。我有什么需要做的吗?? ejabberd 15.06 中已经提供了它。您应该下载并使用该版本。 谢谢mickeal,mod_mam
为我工作,我忘记添加默认**默认:始终**选项。现在效果很好:) 而且我正在用几行编辑你的答案以上是关于ejabberd PostgreSQL 聊天持久化表的主要内容,如果未能解决你的问题,请参考以下文章