pager dla psql - ułatwiania pracy z postgresql

Pager dla psql – ułatwianie pracy z PostgreSQL cz. I

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.

Wykorzystanie pagera

 

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.

psql przykład

 

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ć.

pspg kolory

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.

pspg wyszukiwanie tekstu

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.

pspg sortowanie danych

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 ;-)

Autorzy

Artykuły na blogu są pisane przez osoby z zespołu EuroLinux. 80% treści zawdzięczamy naszym developerom, pozostałą część przygotowuje dział sprzedaży lub marketingu. Dokładamy starań, żeby treści były jak najlepsze merytorycznie i językowo, ale nie jesteśmy nieomylni. Jeśli zauważysz coś wartego poprawienia lub wyjaśnienia, będziemy wdzięczni za wiadomość.