PostgreSQL belgelerineNOTIFY
göre :
NOTIFY komutu , geçerli veritabanında belirtilen kanal adı için daha önce LISTEN kanalı yürüten her istemci uygulamasına isteğe bağlı bir "faydalı yük" dizesi ile birlikte bir bildirim olayı gönderir . Bildirimler tüm kullanıcılar tarafından görülebilir .
(benimkini vurgula)
Bu, sadece istediğiniz şeyi yapamayacağınız anlamına gelir LISTEN/NOTIFY
. Bununla birlikte, hem sıradaki iletileri depolamak, LISTEN/NOTIFY
harici uygulamalara "ileti kuyruğunda yeni şeyler vardır" bildirmek için bir tablonuz olabilir ve yalnızca bu iletiyi tüketmek için bu harici uygulamalardan bazı ekstra mantık kullanabilirsiniz.
Maddesinde gösterilen strateji PostgreSQL 9.5'te için KİLİTLİ atlamak nedir? muhtemelen PostgreSQL içinde bir mesaj kuyruğu uygulamanın en güvenli / en kolay yoludur . "ATLA KİLİTLİ nasıl yardımcı olur" bölümüne özellikle dikkat edin. Ayrıca uyarılarından birini dikkatlice okuyun:
RDBMS'de uygulanan bir kuyruk, PostgreSQL ile aynı atomisite ve dayanıklılık garantisini bile veren hızlı bir kuyruğa alma sisteminin performansıyla asla eşleşmeyecektir. SKIP LOCKED kullanmak, mevcut veritabanı içi yaklaşımlardan daha iyidir, ancak özel ve yüksek düzeyde optimize edilmiş bir dış kuyruk motoru kullanarak yine de daha hızlı gidersiniz.
Kuyruk hacmi yüksekse bu özellikle önemlidir.