<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-feedback-ytrxmrssk" -->

---
title: All Your GUCs in a Row: hot_standby_feedback | daily.dev
description: A deep dive into PostgreSQL's `hot_standby_feedback` GUC parameter, explaining how it prevents query cancellations on standbys by reporting the oldest needed...
canonical: https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-feedback-ytrxmrssk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: All Your GUCs in a Row: hot_standby_feedback | daily.dev
og:description: A deep dive into PostgreSQL's `hot_standby_feedback` GUC parameter, explaining how it prevents query cancellations on standbys by reporting the oldest needed...
og:url: https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-feedback-ytrxmrssk
og:image: https://api.daily.dev/og/posts/ytrXmRssK.png
og:image:alt: All Your GUCs in a Row: hot_standby_feedback
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# All Your GUCs in a Row: hot_standby_feedback

**[Planet PostgreSQL](https://daily.dev/sources/planet-postgresql)** · 6 min read · 0 upvotes · 0 comments

## Summary

A deep dive into PostgreSQL's `hot_standby_feedback` GUC parameter, explaining how it prevents query cancellations on standbys by reporting the oldest needed transaction ID to the primary, which then holds vacuum back. The tradeoff is primary table bloat instead of standby query cancellations. Key clarifications: it only prevents cleanup conflicts, not lock or drop conflicts; it offers no protection while the standby is disconnected; and a forgotten open transaction on the standby can bloat the primary indefinitely. The alternative lever is `max_standby_streaming_delay`, which allows standby lag instead of bloat. Safe usage requires monitoring `backend_xmin` in `pg_stat_replication`, watching long-running queries on the standby, and enforcing a `statement_timeout` on the standby.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://postgr.es/p/9r4>

## Similar posts on daily.dev

- [All Your GUCs in a Row: hot\_standby](https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-wgsmgbrpp) · Planet PostgreSQL · 0 upvotes · 0 comments
- [All Your GUCs in a Row: max\_standby\_archive\_delay and max\_standby\_streaming\_delay](https://daily.dev/posts/all-your-gucs-in-a-row-max-standby-archive-delay-and-max-standby-streaming-delay-ttaiittnt) · Planet PostgreSQL · 2 upvotes · 0 comments
- [All Your GUCs in a Row: max\_prepared\_transactions](https://daily.dev/posts/all-your-gucs-in-a-row-max-prepared-transactions-hkhjqzj67) · Planet PostgreSQL · 0 upvotes · 0 comments
- [All Your GUCs in a Row: max\_locks\_per\_transaction](https://daily.dev/posts/all-your-gucs-in-a-row-max-locks-per-transaction-cugjpr6qd) · Planet PostgreSQL · 0 upvotes · 0 comments
- [All Your GUCs in a Row: log\_startup\_progress\_interval and log\_recovery\_conflict\_waits](https://daily.dev/posts/all-your-gucs-in-a-row-log-startup-progress-interval-and-log-recovery-conflict-waits-qqxxl5jro) · Planet PostgreSQL · 0 upvotes · 0 comments

---

Tags: [#postgresql](https://daily.dev/tags/postgresql)

[View this post on daily.dev](https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-feedback-ytrxmrssk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"All Your GUCs in a Row: hot_standby_feedback","url":"https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-feedback-ytrxmrssk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-feedback-ytrxmrssk"},"datePublished":"2026-08-01T01:04:35.281Z","dateModified":"2026-08-01T04:50:14.837Z","description":"A deep dive into PostgreSQL's `hot_standby_feedback` GUC parameter, explaining how it prevents query cancellations on standbys by reporting the oldest needed...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/01d55f3e16ed2107f3ed77007b69dd6a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/01d55f3e16ed2107f3ed77007b69dd6a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Planet PostgreSQL","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Planet PostgreSQL","logo":"https://media.daily.dev/image/upload/logos/placeholder.jpg","url":"https://daily.dev/sources/planet-postgresql"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/all-your-gucs-in-a-row-hot-standby-feedback-ytrxmrssk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"postgresql","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Planet PostgreSQL","item":"https://daily.dev/sources/planet-postgresql"},{"@type":"ListItem","position":3,"name":"All Your GUCs in a Row: hot_standby_feedback"}]}
```

