2013-01-23 18 views
17

Kiedy używam psql, narzędzie wiersza poleceń PostgreSQL, w trybie interaktywnym, wyświetla dane w postaci stronicowanych danych wyjściowych.Dostosuj pager w psql

Jednak, ponieważ używam psql w aplikacji terminalowej, która może obsługiwać długie wyjścia, wolałbym uzyskać całe wyjście bez stronicowania z irytującą linią --more--.

Czy istnieje sposób na dostosowanie zachowania stronicowania do numeru psql? Próbowałem ustawić LESS w otaczającym środowisku powłoki na cat, ale to nie pomoże.

Wszelkie sugestie?

Odpowiedz

22

Z fine psql manual:

\pset option [ value ]
[...]
pager
Kontrole użycie pagera programu zapytań i psql pomocy wyjścia. Jeśli ustawiona jest zmienna środowiskowa, wyjście jest przesyłane strumieniowo do określonego programu. W przeciwnym razie używane jest domyślne ustawienie zależne od platformy (na przykład more).

Gdy opcja pager jest wyłączona, program pagera nie jest używany. Gdy opcja jest na pager, pager jest stosowany, gdy właściwe

Więc można powiedzieć, że to z wiersza psql:

psql> \pset pager off 

aby włączyć pager off. Jeśli chcesz, aby to było zawsze stosowane, możesz dodać \pset pager off do swojego pliku ~/.psqlrc.

Możesz również użyć \? z podpowiedzi psql, aby uzyskać szybkie podsumowanie specjalnych poleceń do Twojej dyspozycji.

+0

Dzięki za to. Powinienem był sam to znaleźć w pomocy, ale z powodu pagera nigdy nie dotarłem do polecenia '\ pset'. ;-) – halloleo