---
title: "All Your GUCs in a Row: cursor_tuple_fraction"
url: https://daily.dev/posts/all-your-gucs-in-a-row-cursor-tuple-fraction-3ucl8qhmc
source_url: https://postgr.es/p/9l9
type: article
source: "Planet PostgreSQL"
published: 2026-06-04T01:02:49.145Z
updated: 2026-06-04T01:03:13.026Z
tags: ["java", "postgresql"]
reading_time: 5
upvotes: 0
comments: 0
language: 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: cursor_tuple_fraction

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

## Summary

PostgreSQL's `cursor_tuple_fraction` GUC controls how the query planner estimates cursor usage — defaulting to 0.1, meaning it assumes only 10% of rows will be fetched. This fast-start bias favors index scans over sequential scans, which is ideal for interactive cursors that stop early but harmful when you actually read the full result set. For sessions that stream entire result sets through cursors, setting `cursor_tuple_fraction = 1.0` eliminates the bias and can dramatically improve performance. A notable gotcha: the PostgreSQL JDBC driver's chunked fetching doesn't use server-side cursors, so this parameter has no effect on JDBC behavior — `setFetchSize()` and explicit `LIMIT` clauses are the correct levers there.

## Full article

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

## Similar posts on daily.dev

- [All Your GUCs in a Row: gin\_fuzzy\_search\_limit](https://daily.dev/posts/all-your-gucs-in-a-row-gin-fuzzy-search-limit-jw9vfi5nr) · Planet PostgreSQL · 1 upvotes · 2 comments
- [All Your GUCs in a Row: cpu\_index\_tuple\_cost, cpu\_operator\_cost, and cpu\_tuple\_cost](https://daily.dev/posts/all-your-gucs-in-a-row-cpu-index-tuple-cost-cpu-operator-cost-and-cpu-tuple-cost-mrzxarzqd) · Planet PostgreSQL · 3 upvotes · 0 comments
- [All Your GUCs in a Row: from\_collapse\_limit](https://daily.dev/posts/all-your-gucs-in-a-row-from-collapse-limit-r62ismyyi) · Planet PostgreSQL · 0 upvotes · 0 comments

---

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

[View this post on daily.dev](https://daily.dev/posts/all-your-gucs-in-a-row-cursor-tuple-fraction-3ucl8qhmc)
