Używam PostgreSQL 9.1.X
Próbuję zbudować psql
skrypt do drukowania wyników bez nagłówka, ale ze stopką.
http://www.postgresql.org/docs/9.1/static/app-psql.html
Z powyższego dokumentu
\pset tuples_only
wyłączy zarówno nagłówek, jak i stopkę. i
\pset footer off
wyłączy tylko stopkę.
Czy istnieje sposób psql
na wyłączenie nagłówka i utrzymanie stopki?
Wiem, że istnieje wiele sposobów obejścia tego problemu za pomocą powłoki / perla / dowolnego narzędzia tekstowego, które Ci się podoba, ale zastanawiam się, dlaczego istnieje konfiguracja stopki, ale nie jedna dla nagłówka?
id <--this line I don't want
---- <-- this line I don't want either
1 <-- this line, yes
(1 row) <-- yes, I want it!
postgresql
psql
skong
źródło
źródło
Odpowiedzi:
Podczas wykonywania
psql
z powłoki możesz użyć opcji-t
(drukuje tylko krotki):W
psql
użyciu\t
można wyłączyć drukowanie nagłówka i liczby wierszy.źródło
Moje rozwiązanie nie całkiem się wyłącza, ale raczej odrzucam nagłówki.
Możesz spróbować uzyskać
tail
wynik zapytania:Za pomocą
\o
możesz przekierować dane wyjściowe do pliku lub potoku, jak w tym przypadku. To rozwiązanie ma również swoją wadę: przynajmniej w moim przypadku po wykonaniuSELECT [...]
nie wracam do monitu, chyba że nacisnę klawisz. Pierwszy wiersz wyjściowy pojawia się po monicie. Jeśli następnie przekierujesz dane wyjściowe do pliku, nie powinno to stanowić problemu.Zachowania tego można uniknąć, jeśli odpowiednio ustawisz
PAGER
zmienną środowiskową i zawsze używasz pagerapsql
:W
psql
wersji dostarczanej z PostgreSQL 9.2 możesz użyć tego\setenv
polecenia dla wygody (to znaczy, że nie musisz ustawiać zmiennej env, która może wpływać również na inne aplikacje).źródło
Musisz dodać opcję wiersza polecenia psql
-P "footer=off"
. Ta opcja powoduje zachowanie tytułów kolumn w wyniku.źródło