![](https://euro-linux.com/wp-content/uploads/postgresql-shield-thumb.jpg)
Ułatwianie pracy z PostgreSQL cz. I – pager dla psql
![blank](https://euro-linux.com/wp-content/plugins/wp-fastest-cache-premium/pro/images/blank.gif)
W tym artykule przyjrzymy się pagerowi dedykowanemu do wykorzystania z psql. Pokażemy też, dlaczego w pracy z bazą danych less może nie być optymalnym rozwiązaniem.
W tym miesiącu rozpoczynamy nową serię artykułów na temat ciekawych, a nie zawsze znanych narzędzi, które w znaczący sposób mogą ułatwić pracę z bazami opartymi o silnik PostgreSQL. W tym artykule przyjrzymy się pagerowi dedykowanemu do wykorzystania z psql. Pokażemy też, dlaczego w pracy z bazą danych less może nie być optymalnym rozwiązaniem.
Ponieważ sam jestem w znacznym stopniu zwolennikiem korzystania ze środowiska tekstowego, chciałbym dzięki tej serii również pokazać, że nie taki diabeł straszny, jak go malują i przekonać do wypróbowania środowiska tekstowego nieprzekonanych. Natomiast wyjadaczom chciałbym pokazać ciekawe, być może nowe, rozwiązania dla znanych problemów.
Poniżej standardowe pagery dostępne w systemach Linuksowych – more
i less
.
pspg – pager specjalnie dla danych tabelarycznych
Ze względu na specyfikę zwracanych przez zapytania danych, wykorzystanie zwykłych programów do zawijania tekstu, takich jak less
lub more
pozostawia wiele do życzenia. Oczywiście istnieją możliwości skonfigurowania ich do pracy z tabelami zwracanymi przez zapytania (o konfiguracji psql
pisaliśmy w trzeciej części poradnika „psql Tips & Tricks”), ale jest to czasem dość uciążliwe.
Z pomocą przychodzi nam program pspg
, który pozwala na operowanie z danymi zwracanymi przez bazę danych. Poniżej prezentujemy dane z tego samego zapytania, co w powyższym gifie.
Jak widać, wyniki wyglądają zdecydowanie lepiej. Dodatkowym atutem jest możliwość wybrania własnego schematu kolorów, który będzie prezentował się najlepiej. Poniższy zrzut pokazuje wszystkie możliwości kolorystyczne, z których można skorzystać.
Instalacja
pspg
jest dostępny z oficjalnego repozytorium utrzymywanego przez PostgreSQL Global Development Group. Dlatego po dodaniu repozytorium instalacja na systemie Linux klasy Enterprise wymaga jednie:
sudo yum install -y pspg
Ustawienie pspg jako domyślny pager dla PostgreSQL
By ustawić pspg
jako domyślny program do paginacji, wystarczy dodać do pliku .bashrc
zmienną PSQL_PAGER
. Dzięki temu zmienimy go jedynie podczas korzystania z psql
do łącznia się z bazą danych. Można to osiągnąć, np. przez wywołanie:
echo 'PSQL_PAGER="pspg"' >> ~/.bashrc
Dla użytkowników Friendly Interactive Shell (o fish pisaliśmy tutaj) do pliku konfiguracyjnego wystarczy dodać:
set -Ux PSQL_PAGER pspg
Możliwości pspg
Przy wykorzystaniu pspg
możemy się spodziewać tych samych możliwości, które znamy z programu less
. Dalej możemy wyszukiwać tekst poprzez wciśnięcie klawisza /
. W przypadku pspg
podświetlone zostaną wszystkie dopasowania.
Ciekawym dodatkiem, który został zaimplementowany w pspg
, jest możliwość zamrożenia (ang. freeze) wybranej kolumny z wyniku zapytania, co w przypadku chęci wyciągnięcia dużej ilości kolumn z tabeli, zdecydowanie ułatwia czytanie zwróconych wyników.
Kolejnym miłym udogodnieniem jest możliwość innego posortowania danych bez potrzeby wywoływania zapytania od nowa i korzystania z klauzuli ORDERED BY
. Poniżej zrzut ekranu ze wszystkimi dostępnymi komendami.
Na koniec warto nadmienić, że ta aplikacja wykorzystuje zasadę, iż jej możliwości są w prosty sposób możliwe do odkrycia podczas normalnej pracy ze względu na interaktywny charakter działania.
Podsumowanie
Mam nadzieję, że włączenie pspg
do pracy z PostgreSQL sprawi Wam tyle samo przyjemności co mnie. Bardzo dziękuję za czas poświęcony na przeczytanie tego artykułu. Zachęcam także do subskrypcji naszego newslettera. Dzięki temu każdy z Was będzie miał pewność, że podobne artykuły trafią prosto do Waszych skrzynek mailowych i nie zostaną niechcący przeoczone ;-)