PGCon2008 - Final - we hope

PGCon 2008
The PostgreSQL Conference

Marko Kreen
Day Talks - second day (2008-05-23)
Room B
Start time 15:00
Duration 01:00
ID 79
Event type lecture
Track Advanced Features
Language en

PgQ - generic high-performance queue for PostgreSQL

how it is implemented, various uses

Queues in database are rarely used, because thus far is has been impossible to implement both robust and high-performance queue in general-purpose RDBMS.

In PgQ we managed to solve this by generalizing snapshot-based event tracking first introduced with rserv, now used in Slony-I.

This presentation will describe the implementation and also real-life use cases.

  • how to implement queue with generic SQL, problems that appear
  • txid/snapshot based approach
  • producing events (various helper functions)
  • consuming events (core API)
  • tracking events (general, by-event, by-batch, pgq_ext helpers)
  • use-case: email sender
  • use-base: moving data
  • use-case: replication
  • future: sets, distributing queue over several machines