Thread
-
[PATCH] psql: add size-based sorting options (O/o) for tables and indexes
M.Atıf Ceylan <mehmet@atifceylan.com> — 2025-11-26T07:48:52Z
Hello, This patch adds two new meta-command modifiers for \dt(+) and \di(+): - O : sort by total relation size descending - o : sort by total relation size ascending This makes it easier to identify the largest tables and indexes without writing custom SQL queries. Help message (\?) is updated to reflect the new options. regards, -- M.Atıf Ceylan
-
Re: [PATCH] psql: add size-based sorting options (O/o) for tables and indexes
Euler Taveira <euler@eulerto.com> — 2025-11-26T12:43:38Z
On Wed, Nov 26, 2025, at 4:48 AM, M.Atıf Ceylan wrote: > Hello, > This patch adds two new meta-command modifiers for \dt(+) and \di(+): > > - O : sort by total relation size descending > - o : sort by total relation size ascending > Thanks for your contribution. Register your patch in the next commitfest [1] so we don't loose track of it. I didn't look at your patch but I was wondering if a general solution isn't a better way to add this feature. I wouldn't modify these specific psql meta-commands, instead, I would add a new psql meta-command that defines this property for all objects if applicable. \sort [ name | size [ asc | desc ] ] I thought about a list to be cover other sort cases too but if things starting to be complex, it is time to write your own query. With a parameter, it appends the ORDER BY clause in the SQL commands executed by psql if applicable. Without a parameter, it uses the current behavior. [1] https://commitfest.postgresql.org/57/ -- Euler Taveira EDB https://www.enterprisedb.com/
-
Re: [PATCH] psql: add size-based sorting options (O/o) for tables and indexes
Pavel Stehule <pavel.stehule@gmail.com> — 2025-11-26T13:01:45Z
Hi st 26. 11. 2025 v 13:44 odesílatel Euler Taveira <euler@eulerto.com> napsal: > On Wed, Nov 26, 2025, at 4:48 AM, M.Atıf Ceylan wrote: > > Hello, > > This patch adds two new meta-command modifiers for \dt(+) and \di(+): > > > > - O : sort by total relation size descending > > - o : sort by total relation size ascending > > > > Thanks for your contribution. Register your patch in the next commitfest > [1] so > we don't loose track of it. > > I didn't look at your patch but I was wondering if a general solution > isn't a > better way to add this feature. I wouldn't modify these specific psql > meta-commands, instead, I would add a new psql meta-command that defines > this > property for all objects if applicable. > > \sort [ name | size [ asc | desc ] ] > > I thought about a list to be cover other sort cases too but if things > starting > to be complex, it is time to write your own query. > It is big question - if there should be specialized metacommand, or just variable or \pset setting it can be \set PREFERRED_ORDER size_desc \pset preffered_order size_desc > > With a parameter, it appends the ORDER BY clause in the SQL commands > executed by > psql if applicable. Without a parameter, it uses the current behavior. > There were a lot of proposals related to this topic some years ago. I wrote a lot of variants of this patch Generic design is very big, and solutions like proposed are not generic :-). We talked about this feature for maybe more than one year, and we didn't find a generally acceptable design. At the end I wrote pspg, and the sort can be done (over result) there. Using a vertical cursor (column cursor) is very natural and user friendly. https://github.com/okbob/pspg Regards Pavel > > > [1] https://commitfest.postgresql.org/57/ > > > -- > Euler Taveira > EDB https://www.enterprisedb.com/ > > >
-
Re: [PATCH] psql: add size-based sorting options (O/o) for tables and indexes
Pavel Stehule <pavel.stehule@gmail.com> — 2025-11-27T03:51:17Z
st 26. 11. 2025 v 14:01 odesílatel Pavel Stehule <pavel.stehule@gmail.com> napsal: > Hi > > st 26. 11. 2025 v 13:44 odesílatel Euler Taveira <euler@eulerto.com> > napsal: > >> On Wed, Nov 26, 2025, at 4:48 AM, M.Atıf Ceylan wrote: >> > Hello, >> > This patch adds two new meta-command modifiers for \dt(+) and \di(+): >> > >> > - O : sort by total relation size descending >> > - o : sort by total relation size ascending >> > >> >> Thanks for your contribution. Register your patch in the next commitfest >> [1] so >> we don't loose track of it. >> >> I didn't look at your patch but I was wondering if a general solution >> isn't a >> better way to add this feature. I wouldn't modify these specific psql >> meta-commands, instead, I would add a new psql meta-command that defines >> this >> property for all objects if applicable. >> >> \sort [ name | size [ asc | desc ] ] >> >> I thought about a list to be cover other sort cases too but if things >> starting >> to be complex, it is time to write your own query. >> > > It is big question - if there should be specialized metacommand, or just > variable or \pset setting > > it can be > > \set PREFERRED_ORDER size_desc > \pset preffered_order size_desc > > > >> >> With a parameter, it appends the ORDER BY clause in the SQL commands >> executed by >> psql if applicable. Without a parameter, it uses the current behavior. >> > > There were a lot of proposals related to this topic some years ago. I > wrote a lot of variants of this patch > Generic design is very big, and solutions like proposed are not generic > :-). We talked about this feature for maybe more than one year, and we > didn't find a generally acceptable design. > https://www.postgresql.org/message-id/CAFj8pRAVV2TFHsFCV=c9Aaeq7kPWGQBLkOwGronpAN583zqhWg@mail.gmail.com > > At the end I wrote pspg, and the sort can be done (over result) there. > Using a vertical cursor (column cursor) is very natural and user friendly. > > https://github.com/okbob/pspg > > Regards > > Pavel > > >> >> >> [1] https://commitfest.postgresql.org/57/ >> >> >> -- >> Euler Taveira >> EDB https://www.enterprisedb.com/ >> >> >>
-
Re: [PATCH] psql: add size-based sorting options (O/o) for tables and indexes
Mahmoud Ayman <mahmoud.ayman.fcai@gmail.com> — 2025-12-08T00:15:38Z
The following review has been posted through the commitfest application: make installcheck-world: not tested Implements feature: not tested Spec compliant: not tested Documentation: not tested Hi, I tested the patch on top of current master. It applies cleanly and builds without any issues. I tried the new options with \dt and \di after creating tables and indexes of different sizes. Both 'O' (desc) and 'o' (asc) work as expected and the default behavior without these flags is unchanged. Functionality looks good to me. Regards, Mahmoud Ayman The new status of this patch is: Ready for Committer