Używam PostgreSQL 8.4 na Ubuntu. Mam tabeli z kolumnami c1
dzięki cN
. Kolumny są na tyle szerokie, że wybranie wszystkich kolumn powoduje wielokrotne zawijanie wiersza wyników zapytania. W rezultacie wynik jest trudny do odczytania.
Gdy wyniki zapytania składają się tylko z kilku wierszy, wygodnie byłoby wyświetlić wyniki zapytania tak, aby każda kolumna każdego wiersza znajdowała się w osobnej linii, np.
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
Korzystam z tych zapytań na serwerze, na którym wolałbym nie instalować żadnego dodatkowego oprogramowania. Czy istnieje ustawienie psql, które pozwoli mi zrobić coś takiego?
postgresql
output-formatting
psql
użytkownik100464
źródło
źródło
\x
sam zmieni wartość, oszczędzając trzy naciśnięcia klawisza! (Przydatne, gdy szybko przełączasz się między szerokimi i wąskimi wyjściami).\G
z MySQL, spróbuj dołączyć\x\g\x
na końcu zapytania lub zdefiniuj skrót~/.psqlrc
dodawania\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
, a następnie użyj na końcu:G
. (zauważ brak średnika)\x on
w wierszu poleceń można jakoś przekazać znak „ ” lub jego odpowiednik? Byłoby miło, gdybym mógł po prostu zapisać (na przykład używając aliasu powłoki bash),psql --something
aby zawsze domyślnie była włączona opcja.-P expanded=auto
or--pset expanded=auto
(Nowe) Rozszerzony tryb automatyczny: \ x auto
Nowość w Postgresql 9.2; PSQL automatycznie dopasowuje rekordy do szerokości ekranu. wcześniej miałeś tylko włączony lub wyłączony tryb rozszerzony i musiałeś przełączać się między trybami w razie potrzeby.
Aby uzyskać to użyj: \ x auto
Dokumentacja Postgresql 9.5 dotycząca komendy PSQL.
Szeroki ekran, normalne formatowanie:
Wąski ekran, rozszerzone formatowanie:
Jak uruchomić psql z \ x auto?
Skonfiguruj
\x auto
polecenie podczas uruchamiania, dodając je do.psqlrc
folderu domowego i ponownie uruchamiając psql. Aby uzyskać więcej informacji, zobacz sekcję „Pliki” w dokumencie psql .~ / .psqlrc
źródło
Masz tak wiele możliwości, jak możesz się pomylić :-)? Główne elementy sterujące to:
Każda ma opcje i interakcje z innymi. Najbardziej automatyczne opcje to:
Nowsza opcja „\ x auto” przełącza się na wyświetlanie linia po linii tylko „w razie potrzeby”.
Starszy „zawinięty format„ pset ”jest podobny, ponieważ próbuje dobrze dopasować dane do ekranu, ale wraca do stanu niewyrównanego, jeśli nagłówki nie pasują. Oto przykład opakowania:
źródło
\x auto
z\pset pager off
jest fajny.\x off; \pset format wrapped
i\x auto
mają być używane razem lub są one wzajemnie się wykluczają?Interesującą rzeczą jest to, że możemy przeglądać stoły w poziomie, bez składania. możemy użyć
PAGER
zmiennej środowiskowej. psql z niego korzysta. możesz ustawićlub po prostu,
less -S
jeśli jest już dostępny w wierszu poleceń, jeśli nie we właściwej lokalizacji. -S, aby wyświetlić rozwinięte linie. możesz przekazać dowolną niestandardową przeglądarkę lub inne opcje.Napisałem więcej w Psql Horizontal Display
źródło
pspg
to proste narzędzie, które oferuje zaawansowane formatowanie tabeli, przewijanie w poziomie, wyszukiwanie i wiele innych funkcji.następnie pamiętaj o zaktualizowaniu
PAGER
zmiennej np. w swoim~/.bashrc
gdzie
-s
oznacza schemat kolorów (1-14
). Jeśli używasz repozytoriów pgdg, po prostu zainstaluj pakiet (w dystrybucji podobnej do Debiana):źródło
Sprawdź także \ H, która włącza / wyłącza wyjście HTML. Niekoniecznie łatwy do odczytania z konsoli, ale interesujący do zrzucania do pliku (patrz \ o) lub wklejania do okna edytora / przeglądarki w celu przeglądania, szczególnie w przypadku wielu wierszy stosunkowo złożonych danych.
źródło
możesz użyć zenity do wyświetlenia wyniku zapytania w postaci tabeli HTML.
najpierw zaimplementuj skrypt bash z następującym kodem:
cat> '/tmp/sql.op'; zenity --text-info --html --filename = '/ tmp / sql.op';
zapisz to jak mypager.sh
Następnie wyeksportuj zmienną środowiskową PAGER, ustawiając pełną ścieżkę skryptu jako wartość.
na przykład: - export PAGER = '/ path / mypager.sh'
Następnie zaloguj się do programu psql, a następnie uruchom polecenie \ H
I w końcu wykonaj dowolne zapytanie, przedstawione dane wyjściowe zostaną wyświetlone w zenity w formacie tabeli HTML.
źródło