Queuing
From PostgreSQL wiki
Jump to navigationJump to searchQueueing in core
Internal use cases:
- Materialized Views
- Alter Table Concurrently
- Cluster Concurrently
- Parallel queries
- PG/Strom: GPU Offloading (parallel too)
Parallel queries have different transactional semantics needs (it's all running in the same transaction, producer and consumer)
External use cases:
- Very Common Design Pattern
- Datawarehouse and pruning historical data (avoid vacuum issues)
Implementation:
- it's a table?
- concurrent inserts and pruning
- no update
- payload would be a record/tuple (create type / create table)
- FIFO, Insert Only Segment Optimisation with a starting block that can be > 0