Saya menggunakan PostgreSQL 9.1.X
Saya mencoba membuat psql
skrip untuk mencetak hasil tanpa header tetapi termasuk catatan kaki.
http://www.postgresql.org/docs/9.1/static/app-psql.html
Dari dokumen di atas
\pset tuples_only
akan mematikan header dan footer. dan
\pset footer off
hanya akan mematikan footer.
Apakah ada cara psql
untuk mematikan header dan tetap mengaktifkan footer?
Saya tahu ada banyak cara untuk mengatasi masalah ini menggunakan shell / perl / alat teks apa pun yang Anda suka, namun saya bertanya-tanya mengapa ada konfigurasi untuk footer tetapi tidak satu untuk header?
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
sumber
sumber
Jawaban:
Saat mengeksekusi
psql
dari shell Anda dapat menggunakan-t
opsi (hanya mencetak tuple):Dalam
psql
penggunaan\t
untuk mematikan mencetak header dan baris menghitung.sumber
Solusi saya tidak cukup mematikan tetapi membuang header.
Anda dapat mencoba ke
tail
output kueri:Dengan
\o
, Anda dapat mengarahkan output ke file atau pipa, seperti dalam kasus ini. Solusi ini juga memiliki kekurangannya: setidaknya dalam kasus saya, setelah eksekusiSELECT [...]
, saya tidak kembali ke prompt kecuali saya menekan tombol. Dan baris output pertama muncul setelah prompt. Jika Anda kemudian mengarahkan output ke file, itu seharusnya tidak menjadi masalah.Perilaku ini dapat dihindari jika Anda mengatur
PAGER
variabel lingkungan dengan tepat dan selalu menggunakan pager adalahpsql
:Pada
psql
versi yang menyertai PostgreSQL 9.2 Anda dapat menggunakan\setenv
perintah untuk kenyamanan (maksud saya Anda tidak perlu mengatur variabel env yang dapat mempengaruhi aplikasi lain juga).sumber
Anda perlu menambahkan opsi baris perintah psql
-P "footer=off"
. Opsi ini menjaga judul kolom di hasil.sumber