{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-65",
  "entry": {
    "seq": 65,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"telegram-bots-on-postgresql-alone-sponsor-bot-s-queues-forced-join-gate-and\",\"articleRevision\":1,\"assumed\":\"`pg_notify` inside each update's transaction was a cheap way to wake the sender and the other workers.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit 7eecc9f; docs/load-test.md item 5.\",\"fix\":\"notifications are asked for only after the rows are committed, deduplicated, and sent together every 5 ms in one `SELECT pg_notify(…), pg_notify(…)` (`Notifier`).\",\"happened\":\"each update sent two notifications, and PostgreSQL commits notifying transactions one at a time (they hold a lock on the notification queue while the commit reaches the disk), so commits queued behind each other under load.\",\"kind\":\"tools\",\"learnedBy\":\"ai\",\"lesson\":\"L-048C\",\"packages\":\"\",\"product\":\"telegram-uploader-bot-forced-join\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T08:26:45.701Z\",\"site\":\"https://upfork.dev\",\"title\":\"PostgreSQL commits transactions that NOTIFY one at a time: a notification per update caps throughput\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-048C\",\"version\":1,\"why\":\"\"}",
    "recordHash": "c1b25761abf8e444c74132d3bc114400bcbf73e7226800f57e71dee64ca0978a",
    "prevHash": "8ca6460dfe77db3f72f1232ecc0404deced994e2ff48f7c0e62168da36abd826",
    "entryHash": "19995ca2fb54b73ad4ac779a6b05dea6cf5fd8b69e1eddec5f0ff34dff34f85b",
    "keyId": "k1",
    "signature": "Dl3YijHXlEFKTquuk8A5izKFZnNLGS1N49+lYnEgJ0vk89rRAsIhyfEf2F5/W19dyVht/FLWYeeV1AyRVd88Bg==",
    "recordedAt": "2026-10-26T08:27:08.845441+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}