Przeszliśmy z PostgreSQL 8.3 na 9.0. Być może jest to nowa funkcja, a może po prostu zmiana konfiguracji, ale teraz, gdy wyjście z poleceń (jak, \d tablename
) przekracza widoczną przestrzeń pionową, psql wydaje się przepuszczać wyjście przez coś podobnego do less
. Nie mogłem znaleźć sposobu na wyłączenie tego zachowania. Jakakolwiek rada? Dzięki.
PS Przewijam bufor za pomocą PuTTY, Shift+PgUp/PgDn
więc nie potrzebuję stronicowania psql. Plus, kiedy q
wciskam stronicowanie psql, jego dane wyjściowe całkowicie znikają z ekranu (tak jak po uruchomieniu less
w bash), co jest błędne z ogólnego punktu widzenia przypadków użycia.
Space
nie jest n ani PgDn, ani strzałka w dół, jak próbowałem.Odpowiedzi:
Jest na to dokumentacja.
Z sekcji \ pset instrukcji psql :
pager
Kontroluje użycie programu stronicującego do wysyłania zapytań i pomocy psql. Jeśli ustawiona jest zmienna środowiskowa PAGER, dane wyjściowe są przesyłane do określonego programu. W przeciwnym razie używana jest wartość domyślna zależna od platformy (np. Więcej).
Gdy opcja pager jest wyłączona, program pager nie jest używany. Gdy opcja pager jest włączona, pager jest używany, gdy jest to właściwe, tj. Gdy wyjście jest na terminalu i nie zmieści się na ekranie. Opcja pager może być również ustawiona na zawsze, co powoduje, że pager jest używany dla wszystkich wyjść terminala, niezależnie od tego, czy mieści się na ekranie. \ pset pager bez wartości włącza i wyłącza korzystanie z pager.
źródło
psql -P pager
.\pset pager
w psql do przełączania, czy dane wyjściowe trafiają do pagera. Jednak powinieneś być w stanie korzystać z pagera, a wyjście nie zniknie z ekranu po wyjściu. Odpowiedzią jest użycie „pager” zamiast „mniej” jako pager. Możesz to zrobić, ustawiając zmienną środowiskową PAGER w powłoce lub dodając zmienną środowiskową PAGER do pliku ~ / .psqlrc.PAGER
naless -X
i nie spowoduje wyczyszczenia ekranu.Spróbuj przełącznika:
źródło
\pset pager [on|off]
dla stałego wyniku.Wyłącz pager za pomocą
źródło
dodaj poniższy kod w ~ / .psqlrc, aby zachować zachowanie
\ pset wyłączony
źródło
Aby wyłączyć pager podczas korzystania
psql
z powłoki:Możesz także wyeksportować pustą
PAGER
zmienną środowiskową, więc nie musisz dodawać opcji do każdej instrukcji. Pozostanie ustawiony, dopóki nie zamkniesz bieżącej powłoki.Wreszcie obejście, które może być łatwiejsze do zapamiętania: przesuń wyjście
cat
, co spowoduje wyłączenie domyślnego pageraźródło
Najlepszym sposobem podsumowania jest ustawienie zmiennej środowiskowej dla pagera, np
PAGER='less -X' psql
lub ustawić raz
export PAGER='less -X'
następnie uruchomić
psql
źródło