Kami beralih dari PostgreSQL 8.3 ke 9.0. Mungkin ini adalah fitur baru atau mungkin hanya perubahan konfigurasi, tetapi sekarang ketika output dari perintah (seperti, \d tablename
) melebihi ruang vertikal yang terlihat, psql tampaknya menyalurkan output melalui sesuatu yang mirip less
. Saya tidak dapat menemukan cara untuk mematikan perilaku ini. Ada saran? Terima kasih.
PS Saya menggulir buffer menggunakan Putty Shift+PgUp/PgDn
jadi saya tidak perlu paging psql. Plus, ketika saya menekan q
dalam paging psql, outputnya menghilang sepenuhnya dari layar (sama seperti setelah berjalan less
di bash), yang salah dari sudut pandang kasus penggunaan umum.
Space
- bukan n atau PgDn atau panah bawah seperti yang saya coba.Jawaban:
Ada dokumentasi untuk itu.
Dari bagian \ pset dari manual psql :
pager
Mengontrol penggunaan program pager untuk kueri dan output bantuan psql. Jika variabel lingkungan PAGER diatur, output disalurkan ke program yang ditentukan. Kalau tidak, standar yang bergantung pada platform (seperti lebih) digunakan.
Ketika opsi pager tidak aktif, program pager tidak digunakan. Ketika opsi pager aktif, pager digunakan saat yang tepat, yaitu, ketika output ke terminal dan tidak akan muat di layar. Opsi pager juga dapat diatur ke selalu, yang menyebabkan pager digunakan untuk semua output terminal terlepas dari apakah itu cocok di layar. \ pset pager tanpa nilai menghidupkan dan mematikan pager.
sumber
psql -P pager
.\pset pager
dalam psql untuk beralih apakah output pergi ke pager. Namun, Anda harus dapat menggunakan pager dan output tidak hilang dari layar saat Anda keluar. Jawabannya adalah menggunakan 'lebih' daripada 'kurang' sebagai pager. Anda bisa melakukannya dengan mengatur variabel lingkungan PAGER di shell Anda atau dengan menambahkan variabel lingkungan PAGER ke file ~ / .psqlrc.PAGER
keless -X
dan tidak akan menghapus layar.Coba pengalih:
sumber
\pset pager [on|off]
untuk hasil yang konstan.Nonaktifkan pager dengan
sumber
tambahkan kode di bawah ini dalam ~ / .psqlrc untuk mempertahankan perilaku
\ pset pager off
sumber
Untuk mematikan pager saat menggunakan
psql
di shell:Anda juga bisa mengekspor
PAGER
variabel lingkungan kosong , jadi Anda tidak perlu menambahkan opsi ke setiap pernyataan. Ini akan tetap diatur sampai Anda menutup shell Anda saat ini.Akhirnya, solusi yang mungkin lebih mudah diingat: pipa melalui output
cat
, yang akan menonaktifkan pager defaultsumber
Cara terbaik dalam ringkasan adalah mengatur variabel lingkungan untuk pager, misalnya
PAGER='less -X' psql
atau mengaturnya sekali
export PAGER='less -X'
lalu lari
psql
sumber