Saya menggunakan PostgreSQL 8.4 di Ubuntu. Saya punya tabel dengan kolom c1
melalui cN
. Kolom cukup lebar sehingga memilih semua kolom menyebabkan deretan hasil kueri untuk membungkus beberapa kali. Akibatnya, outputnya sulit dibaca.
Ketika hasil kueri hanya terdiri dari beberapa baris, akan lebih mudah jika saya dapat melihat hasil kueri sedemikian rupa sehingga setiap kolom dari setiap baris berada pada baris yang terpisah, misalnya
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.
Saya menjalankan kueri ini di server di mana saya lebih suka tidak menginstal perangkat lunak tambahan. Apakah ada pengaturan psql yang akan membiarkan saya melakukan sesuatu seperti itu?
sumber
\x
sendiri akan beralih nilainya, menghemat tiga penekanan tombol! (Berguna saat Anda dengan cepat beralih antara output lebar dan sempit).\G
dari Mysql, coba tambahkan\x\g\x
ke akhir kueri atau tentukan pintasan dalam~/.psqlrc
menambahkan\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
, kemudian gunakan di akhir:G
. (perhatikan kurangnya titik koma)\x on
" atau yang setara di baris perintah? Akan lebih baik jika saya bisa menyimpan (misalnya, dengan menggunakan alias bash shell)psql --something
sehingga saya selalu memiliki opsi yang diaktifkan secara default.-P expanded=auto
atau--pset expanded=auto
(Baru) Mode Otomatis yang Diperluas: \ x otomatis
Baru untuk Postgresql 9.2; PSQL secara otomatis menyesuaikan rekaman dengan lebar layar. sebelumnya Anda hanya mengaktifkan atau menonaktifkan mode yang diperluas dan harus beralih di antara mode yang diperlukan.
Untuk mendapatkan ini gunakan: \ x otomatis
Postgresql 9.5 Dokumentasi pada perintah PSQL.
Layar lebar, pemformatan normal:
Layar sempit, pemformatan yang diperluas:
Bagaimana cara memulai psql dengan \ x auto?
Konfigurasikan
\x auto
perintah pada startup dengan menambahkannya ke.psqlrc
dalam folder rumah Anda dan restart psql. Lihat di bagian 'File' di psql doc untuk info lebih lanjut .~ / .psqlrc
sumber
Anda memiliki begitu banyak pilihan, bagaimana Anda bisa bingung :-)? Kontrol utama adalah:
Masing-masing memiliki opsi dan interaksi dengan yang lain. Opsi paling otomatis adalah:
Opsi "\ x auto" yang lebih baru hanya beralih ke tampilan baris demi baris "jika perlu".
"\ Pset format yang dibungkus" yang lebih lama serupa dengan mencoba mencocokkan data dengan rapi di layar, tetapi kembali menjadi tidak selaras jika header tidak cocok. Berikut ini contoh yang dibungkus:
sumber
\x auto
dengan\pset pager off
bagus.\x off; \pset format wrapped
dan\x auto
dimaksudkan untuk digunakan bersama atau mereka saling eksklusif?Satu hal yang menarik adalah kita bisa melihat meja secara horizontal, tanpa melipat. kita bisa menggunakan
PAGER
variabel lingkungan. psql memanfaatkannya. Anda dapat mengaturatau hanya
less -S
jika sudah tersedia di baris perintah, jika tidak dengan lokasi yang tepat. -S untuk melihat garis yang tidak dilipat. Anda dapat melewati setiap penampil kustom atau opsi lain dengannya.Saya telah menulis lebih banyak di Tampilan Horisontal Psql
sumber
pspg
adalah alat sederhana yang menawarkan pemformatan tabel tingkat lanjut, pengguliran horizontal, pencarian dan banyak lagi fitur.kemudian pastikan untuk memperbarui
PAGER
variabel mis. di~/.bashrc
di mana
-s
singkatan skema warna (1-14
). Jika Anda menggunakan repositori pgdg cukup instal paket (pada distribusi seperti Debian):sumber
Pastikan juga untuk memeriksa \ H, yang mengaktifkan / menonaktifkan output HTML. Tidak harus mudah dibaca di konsol, tetapi menarik untuk dibuang ke file (lihat \ o) atau menempel ke jendela editor / browser untuk dilihat, terutama dengan beberapa baris data yang relatif kompleks.
sumber
Anda dapat menggunakan zenity untuk menampilkan output kueri sebagai tabel html.
pertama-tama implementasikan skrip bash dengan kode berikut:
cat> '/tmp/sql.op'; zenity --text-info --html --filename = '/ tmp / sql.op';
simpan seperti mypager.sh
Kemudian ekspor variabel lingkungan PAGER dengan menetapkan path lengkap skrip sebagai nilai.
misalnya: - export PAGER = '/ path / mypager.sh'
Kemudian login ke program psql kemudian jalankan perintah \ H
Dan akhirnya menjalankan kueri apa pun, output tabled akan ditampilkan dalam zenity dalam format tabel html.
sumber