Re: Fix psql pager selection for wrapped expanded output - Mailing list pgsql-hackers

From Chao Li
Subject Re: Fix psql pager selection for wrapped expanded output
Date
Msg-id 873721BE-3AA3-4FB1-93B0-EF98CC28603A@gmail.com
Whole thread
In response to Fix psql pager selection for wrapped expanded output  (Chao Li <li.evan.chao@gmail.com>)
List pgsql-hackers

> On Jun 12, 2026, at 18:01, Chao Li <li.evan.chao@gmail.com> wrote:
>
> Hi,
>
> While testing “[27da1a796] Improve psql's ability to select pager mode accurately”, I found that the pager doesn’t
workfor expanded wrapped mode. However, I realized that this is not a new problem introduced by 27da1a796, it didn’t
workbefore 27da1a796 either. Instead, with 27da1a796, we are almost there to make it work. 
>
> 27da1a796 introduces a new helper count_table_lines(), that takes a per-column-width array. For expanded mode
(verticalmode), all columns use the same data width. So we can simply build such a width_wrap array, and move
IsPagerNeeded()to after dwidth is computed. Then the pager works in expanded wrapped mode. 
>
> I tested with this procedure (making the terminal small with ~30 rows):
> ```
> \pset pager on
> \pset columns 25
> \pset expanded on
> \pset format wrapped
> select g AS id, 'name_' || g AS name, repeat('x', g * 5) AS payload from generate_series(1, 10) AS g;
> ```
> See the attached patch for details. I’m not going to add this to the v19 open items, as it’s not a v19-new bug.
>
> Best regards,
> --
> Chao Li (Evan)
> HighGo Software Co., Ltd.
> https://www.highgo.com/
>
> <v1-0001-Fix-psql-pager-selection-for-wrapped-expanded-out.patch>

This is simpler repro:
```
\pset pager on
\pset format wrapped
\pset expanded on
\pset columns 5
SELECT repeat('x',100) AS payload;
```

My terminal size:
```
evantest=# \! stty size
27 170
```

BTW, I also ran into another issue that confused me. After changing print.c, running make from the source root didn’t
rebuildpsql. I had to run "make clean" and rebuild everything. Is that known or intentional? 

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Fix race in ReplicationSlotRelease for ephemeral slots
Next
From: Antonin Houska
Date:
Subject: Re: REPACK CONCURRENTLY fails on tables with generated columns