49
All you need is PostgreSQL
(ebellani.github.io)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
I swear Postgres always has new features whenever I look at it again.
I was building a system for long running durable job queues with multiple workers and of course Postgres has a solution for that. You can do row-level locking in a transaction to "reserve" jobs for the duration of that transaction, and you can use
SKIP LOCKEDto skip over reserved jobs so workers don't block each other. There's also LISTEN and NOTIFY if you want pub/sub to track when jobs complete, for example.Postgres has scope creep?
The row-level locking and
SKIP LOCKEDseem like appropriate features for a SQL-based DBMS. I find it odd that it's not more common, actually. Even MSSQL doesn't make any promises about locking just a row and might decide to lock a whole page instead, from what I read anyway.NOTIFY/LISTEN might be scope creep though. I'm not really sure what led to it being implemented.