Closed. This question is off-topic。它目前不接受答案。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
6年前关闭。
我在设置ejabberd以使用PostgreSQL时遇到问题。我的环境是用于开发的OSX和用于生产的Debian服务器。
OSX的故事如下:
ejabberd是从支持odbc的源代码编译的。erlang是通过macports安装的。
我遇到的第一个问题是erlang的psql模块。在文档中提到了从一个不存在的SN位置编译它们。我从二进制安装中复制了相关的
我的ejabberd配置是故意最小化的,目前只使用本地pgsql驱动程序通过odbc进行身份验证。然而,虽然ejabberd开始时很干净,但实际上它从未创建表结构。在on-topic中有pg.sql,但有一个关于它过时的大警告,并提到将自动创建表。这是怎么发生的,什么时候发生的?例如,我可以验证尝试验证是否向postgresql发送了查询,但是由于那里没有表,所以出错了。。。
ejabberd配置如下:
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
6年前关闭。
我在设置ejabberd以使用PostgreSQL时遇到问题。我的环境是用于开发的OSX和用于生产的Debian服务器。
OSX的故事如下:
ejabberd是从支持odbc的源代码编译的。erlang是通过macports安装的。
我遇到的第一个问题是erlang的psql模块。在文档中提到了从一个不存在的SN位置编译它们。我从二进制安装中复制了相关的
.beam
到我的ejabberd库,它看起来工作得很好。我的ejabberd配置是故意最小化的,目前只使用本地pgsql驱动程序通过odbc进行身份验证。然而,虽然ejabberd开始时很干净,但实际上它从未创建表结构。在on-topic中有pg.sql,但有一个关于它过时的大警告,并提到将自动创建表。这是怎么发生的,什么时候发生的?例如,我可以验证尝试验证是否向postgresql发送了查询,但是由于那里没有表,所以出错了。。。
ejabberd配置如下:
{loglevel, 4}.
{hosts, ["localhost"]}.
{listen,
[
{{5222, {127, 0, 0, 1}}, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536}
]},
{{5269, {127, 0, 0, 1}}, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{{5280, {127, 0, 0, 1}}, ejabberd_http, [
http_bind,
web_admin
]}
]}.
{odbc_server, {pgsql, "localhost", "ejabberd", "ejabberd", "ejabberd"}}.
{auth_method, [odbc]}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{host_config, "localhost", [{acl, admin, {user, "admin", "localhost"}}]}.
{acl, local, {user_regexp, ""}}.
{access, max_user_sessions, [{10, all}]}.
{access, local, [{allow, local}]}.
{access, c2s, [{deny, blocked},
{allow, all}]}.
{access, c2s_shaper, [{none, admin},
{normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, announce, [{allow, admin}]}.
{access, configure, [{allow, admin}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, muc_create, [{allow, local}]}.
{access, register, [{allow, all}]}.
{access, pubsub_createnode, [{allow, local}]}.
{language, "en"}.
{modules,
[
{mod_adhoc, []},
{mod_announce, [{access, announce}]},
{mod_caps, []},
{mod_configure,[]},
{mod_disco, []},
{mod_http_bind,[]},
{mod_last, []},
{mod_offline, []},
{mod_privacy, []},
{mod_private, []},
{mod_pubsub, [
{access_createnode, pubsub_createnode},
{ignore_pep_from_offline, false},
{last_item_cache, false},
{nodetree, "dag"},
{plugins, ["dag", "flat", "hometree", "pep"]},
{max_items_node, 1000}
]},
{mod_register, [
{welcome_message, {"Welcome!",
"Welcome to localhost Jabber server."}},
{access, register}
]},
{mod_roster, []},
{mod_shared_roster,[]},
{mod_time, []},
{mod_vcard, []},
{mod_version, []}
]}.
最佳答案
是的,这主要是在我最终发现这一点之后的文档。。。希望对其他有类似问题的人有用。它适用于ejabberd 2.1.*当然不适用于3系列。
我不得不使用PostgreSQL\',这在PostgreSQL的9.*系列中并不适用。
下一步需要安装subversion
和erlang-tools
。
您可以从http://svn.process-one.net/ejabberd-modules/pgsql/trunk/获得pgsql的驱动程序
编译并复制到路径/lib/ejabberd/ebin
创建db并导入this file以创建表结构。忽略文件说它已经过时,ejabberd不会为您创建结构。
关于postgresql - 使用PostgreSQL设置ejabberd ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9753710/