Thread

  1. LISTEN / NOTIFY

    aditya desai <admad123@gmail.com> — 2021-10-11T14:11:27Z

    Hi,
    Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to
    and from Postgres? Do you have steps to implement it?
    
    Regards.
    Aditya.
    
  2. Re: LISTEN / NOTIFY

    Erik Brandsberg <erik@heimdalldata.com> — 2021-10-11T14:52:30Z

    You will need to provide more info, such as what language and driver you
    are trying to implement this with.  I have implemented it with Java, but
    the driver has a specific API to implement this.
    
    On Mon, Oct 11, 2021 at 10:12 AM aditya desai <admad123@gmail.com> wrote:
    
    > Hi,
    > Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to
    > and from Postgres? Do you have steps to implement it?
    >
    > Regards.
    > Aditya.
    >
    
    
    -- 
    *Erik Brandsberg*
    erik@heimdalldata.com
    
    www.heimdalldata.com
    +1 (866) 433-2824 x 700
    [image: AWS Competency Program]
    <https://aws.amazon.com/partners/find/partnerdetails/?n=Heimdall%20Data&id=001E000001d9pndIAA>
    
  3. Re: LISTEN / NOTIFY

    aditya desai <admad123@gmail.com> — 2021-10-11T15:31:57Z

    Hi Erik,
    Thanks for response. We will be implementing it in Java or .NET. Could you
    please send steps for Java?
    
    I am not a Java expert and I am completely DB person. So do we need
    external API to enqueue and dqueue messages. Completely new to this
    concept. Please bear with me :)
    
    Regards,
    Aditya.
    
    On Monday, October 11, 2021, Erik Brandsberg <erik@heimdalldata.com> wrote:
    
    > You will need to provide more info, such as what language and driver you
    > are trying to implement this with.  I have implemented it with Java, but
    > the driver has a specific API to implement this.
    >
    > On Mon, Oct 11, 2021 at 10:12 AM aditya desai <admad123@gmail.com> wrote:
    >
    >> Hi,
    >> Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to
    >> and from Postgres? Do you have steps to implement it?
    >>
    >> Regards.
    >> Aditya.
    >>
    >
    >
    > --
    > *Erik Brandsberg*
    > erik@heimdalldata.com
    >
    > www.heimdalldata.com
    > +1 (866) 433-2824 x 700
    > [image: AWS Competency Program]
    > <https://aws.amazon.com/partners/find/partnerdetails/?n=Heimdall%20Data&id=001E000001d9pndIAA>
    >
    
  4. Re: LISTEN / NOTIFY

    David G. Johnston <david.g.johnston@gmail.com> — 2021-10-11T15:36:39Z

    On Monday, October 11, 2021, aditya desai <admad123@gmail.com> wrote:
    
    > Hi,
    > Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to
    > and from Postgres? Do you have steps to implement it?
    >
    
    Listen/notify are not a queuing system, they are a notification system.
    
    David J.
    
  5. Re: LISTEN / NOTIFY

    Steve Midgley <science@misuse.org> — 2021-10-11T15:46:37Z

    On Mon, Oct 11, 2021 at 8:36 AM David G. Johnston <
    david.g.johnston@gmail.com> wrote:
    
    >
    >
    > On Monday, October 11, 2021, aditya desai <admad123@gmail.com> wrote:
    >
    >> Hi,
    >> Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages to
    >> and from Postgres? Do you have steps to implement it?
    >>
    >
    > Listen/notify are not a queuing system, they are a notification system.
    >
    
    I agree with David - you _could_ implement a work queue using LISTEN /
    NOTIFY as primitive components, but they are not anything like a complete
    queuing system. I would recommend implementing any number of open source or
    licensed message queue solutions that will work with Postgres. RabbitMQ is
    widely known and used. I've used SideKiq and Resque (both being in Ruby, a
    language I like). I think it would be unwise to implement your own queue
    system directly on top of LISTEN/NOTIFY. There are so many edge cases to
    queue management, it's almost like implementing your own encryption
    algorithm on top of Postgres' math functions. There are OSS tools out there
    that will almost certainly do what you want.
    
    Steve
    
  6. Re: LISTEN / NOTIFY

    aditya desai <admad123@gmail.com> — 2021-10-11T16:36:09Z

    Steve/David,
    Thanks for response. I will look into this further.
    
    Regards,
    Aditya.
    
    On Monday, October 11, 2021, Steve Midgley <science@misuse.org> wrote:
    
    >
    > On Mon, Oct 11, 2021 at 8:36 AM David G. Johnston <
    > david.g.johnston@gmail.com> wrote:
    >
    >>
    >>
    >> On Monday, October 11, 2021, aditya desai <admad123@gmail.com> wrote:
    >>
    >>> Hi,
    >>> Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages
    >>> to and from Postgres? Do you have steps to implement it?
    >>>
    >>
    >> Listen/notify are not a queuing system, they are a notification system.
    >>
    >
    > I agree with David - you _could_ implement a work queue using LISTEN /
    > NOTIFY as primitive components, but they are not anything like a complete
    > queuing system. I would recommend implementing any number of open source or
    > licensed message queue solutions that will work with Postgres. RabbitMQ is
    > widely known and used. I've used SideKiq and Resque (both being in Ruby, a
    > language I like). I think it would be unwise to implement your own queue
    > system directly on top of LISTEN/NOTIFY. There are so many edge cases to
    > queue management, it's almost like implementing your own encryption
    > algorithm on top of Postgres' math functions. There are OSS tools out there
    > that will almost certainly do what you want.
    >
    > Steve
    >
    >
    >
    >
    >
    
  7. Re: LISTEN / NOTIFY

    Erik Brandsberg <erik@heimdalldata.com> — 2021-10-11T16:59:06Z

    As others have said, a queue system and message system are not exactly the
    same.   Can you explain your goal, as the listen/notify may not be
    appropriate for your use.  If what you want is really just a message
    system, then the example we based our code on is at
    https://jdbc.postgresql.org/documentation/81/listennotify.html.
    
    Keep in mind, if you connect (or reconnect) to the listen interface, you
    won't get any messages sent before it, so it isn't exactly what you want if
    you need a persistent queue, say for a job queue.  We use it for
    invalidating cache content.
    
    On Mon, Oct 11, 2021 at 11:31 AM aditya desai <admad123@gmail.com> wrote:
    
    > Hi Erik,
    > Thanks for response. We will be implementing it in Java or .NET. Could you
    > please send steps for Java?
    >
    > I am not a Java expert and I am completely DB person. So do we need
    > external API to enqueue and dqueue messages. Completely new to this
    > concept. Please bear with me :)
    >
    > Regards,
    > Aditya.
    >
    > On Monday, October 11, 2021, Erik Brandsberg <erik@heimdalldata.com>
    > wrote:
    >
    >> You will need to provide more info, such as what language and driver you
    >> are trying to implement this with.  I have implemented it with Java, but
    >> the driver has a specific API to implement this.
    >>
    >> On Mon, Oct 11, 2021 at 10:12 AM aditya desai <admad123@gmail.com> wrote:
    >>
    >>> Hi,
    >>> Has anyone implemented LISTEN / NOTIFY to enqueue and dequeue messages
    >>> to and from Postgres? Do you have steps to implement it?
    >>>
    >>> Regards.
    >>> Aditya.
    >>>
    >>
    >>
    >> --
    >> *Erik Brandsberg*
    >> erik@heimdalldata.com
    >>
    >> www.heimdalldata.com
    >> +1 (866) 433-2824 x 700
    >> [image: AWS Competency Program]
    >> <https://aws.amazon.com/partners/find/partnerdetails/?n=Heimdall%20Data&id=001E000001d9pndIAA>
    >>
    >
    
    -- 
    *Erik Brandsberg*
    erik@heimdalldata.com
    
    www.heimdalldata.com
    +1 (866) 433-2824 x 700
    [image: AWS Competency Program]
    <https://aws.amazon.com/partners/find/partnerdetails/?n=Heimdall%20Data&id=001E000001d9pndIAA>