Everybody who uses psql
uses less
pager. It is working well, but there is not any special
support for tabular data. I found few projects, but no one was completed for this purpose.
I decided to write some small specialized pager for usage as psql
pager.
- possibility to freeze first few rows, first few columns
- possibility to use fancy colors - like
mcview
orFoxPro
- -b black/white theme
- -X doesn't clean screen on the end
- -s N use theme (default theme is mc theme)
- -c N freeze first N columns
- -f file open file (default stdin)
- --no-mouse without own mouse handling (cannot be changed in app)
- --no-sound without sound effect
- -F, --quit-if-one-screen quit if content is one screen
- -V, --version show version
- black & white
- Midnight Commander like
- FoxPro like
- Pdmenu like
- White theme
- Mutt like
- PCFand like
- Green theme
- Blue theme
- Word Perfect like
- Low contrast blue theme
- Dark cyan/black mode
- Paradox like
- dBase IV retro style
- dBase IV retro style (Magenta labels)
see http://okbob.blogspot.cz/2017/07/i-hope-so-every-who-uses-psql-uses-less.html
- 0, 1, 2, 3, 4 - freeze first N columns
- KEY_UP, k - navigate backward by one line
- KEY_DOWN, j - navigate forward by one line
- KEY_LEFT, h - scroll to left
- KEY_RIGHT, l - scroll to right
- Ctrl Home, g - go to the start of file
- Ctrl End, G - go to the end of file
- H - go to first line of current window
- M - go to half of current window
- L - go to end of current window
- PPAGE, Ctrl B - backward one window
- NPAGE, Ctrl F, space - forward one window
- HOME, ^ - go to begin of line, first column
- END, $ - go to end of line, last column
- Ctrl E - scroll a window down
- Ctrl Y - scroll a window up
- Ctrl D - forward a half window
- Ctrl U - backward a half window
- s - save content to file
- / - search for a pattern which will take you to the next occurrence
- ? - search for a pattern which will take you to the previous occurrence
- n - for next match in backward direction
- N - for previous match in forward direction
- Alt M - switch (on, off) own mouse handler
- Mouse button wheel - scroll vertical
- Alt Mouse button wheel - scroll horizontal
- q, F10, Esc Esc, Esc 0 - quit
- linestyle unicode
- border 2
some possible configuration:
-- Switch pagers with :x and :xx commands \set x '\\setenv PAGER less' \set xx '\\setenv PAGER \'pspg -bX --no-mouse\'' :xx
Some linker issues can be fixed by:
I changed gcc -lncursesw pager.c -o pspg -ggdb to gcc pager.c -o pspg -ggdb -lncursesw
The pspg is available from community repository https://yum.postgresql.org/packages.php
If you like it, send a postcard from your home country to my address, please:
Pavel Stehule
Skalice 12
256 01 Benesov u Prahy
Czech Republic
I invite any questions, comments, bug reports, patches on mail address pavel.stehule@gmail.com