Closed. This question is off-topic。它目前不接受答案。
想改进这个问题吗?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.*系列中并不适用。
下一步需要安装subversionerlang-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/

10-10 18:44
查看更多