PGCon2016 - 20180510

PGCon 2016
The PostgreSQL Conference

Thomas Munro
Day Talks - Day 2 - 2016-05-20
Room DMS 1160
Start time 14:00
Duration 00:45
ID 929
Event type Lecture
Track Applications
Language used for presentation English

Queues in PostgreSQL

Can elephants queue?

Many projects involve something resembling job or message queuing. In this talk I will look at:

  • the pros and cons of using a plain old relational database for this type of workload rather than specialized technology
  • approaches and designs
  • special considerations for PostgreSQL
  • performance and tuning
  • potential improvements

Using your existing PostgreSQL cluster to queue jobs and messages can be a reasonable choice in some cases. However, it's not without complications. This talk looks at queue-like workloads in detail. The topics covered will include:

  • defining and categorizing queue-like structures and access patterns
  • reasons to consider building queues inside your relational database
  • reasons to avoid building queues inside your relational database
  • example use cases
  • locking strategies and concurrency
  • higher transactions isolation levels
  • vacuuming considerations and workarounds
  • statistics and indexes
  • benchmarking
  • comparing PostgreSQL to some other RDBMSs
  • some relevant potential future features for PostgreSQL