使用amqp扩展名将消息从PostgreSQL发布到RabbitMQ时出错-在代理1上登录失败

时间:2019-02-14 17:10:49

标签: postgresql docker rabbitmq amqp postgresql-11

我正在尝试将消息从PostgreSQL发布到RabbitMQ(均在Docker上运行)

SELECT amqp.publish(1, 'amqp.direct', 'EMAIL', 'message');

但它返回false和警告消息:

  

警告:代理1上的amqp [ my_host_address:my_port ]登录失败

更新: RabbitMQ Docker容器日志中有错误:

  

无法协商连接参数:协商的channel_max = 0   (无限制)高于最大允许值(2047)

amqp.broker表中的代理参数-主机,端口,虚拟主机,用户名,密码已正确定义。 可以使用Curl和相同的连接参数将消息从计算机控制台发布到RabbitMQ,并将它们添加到消息队列中。

1 个答案:

答案 0 :(得分:0)

有两种可能的解决方案:

  1. 在RabbitMQ portainer堆栈中添加环境变量:
    RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: '-rabbit channel_max 0'
  1. 修复src/librabbitmq/amqp_socket.c

    https://github.com/omniti-labs/pg_amqp/issues/23