pengembangan-web-mp-pd.com

Postgres setara dengan MySQL's G?

Adakah yang tahu apakah Postgres memiliki cara untuk menampilkan hasil kueri "cantik", seperti bagaimana MySQL melakukannya saat mengakhiri kueri dengan\G pada baris perintah? Misalnya, "pilih * dari sesuatu\G" sebagai kebalikan dari "pilih * dari sesuatu;

Terimakasih banyak!

87
law

Saya tidak cukup familiar dengan MySQL untuk mengetahui apa yang dilakukan opsi\G, tetapi berdasarkan dokumentasi sepertinya opsi psql\x dapat melakukan apa yang Anda inginkan.

Namun, ini toggle, jadi Anda melakukannya sebelum mengirimkan kueri.

\x
select * from sometable;
100
Adam Ruth

Sebenarnya, Anda dapat mengaktifkan\G pemformatan gaya mysql berdasarkan per-kueri dalam psql dengan meletakkan berikut ini di ~/.psqlrc:

\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'

Anda kemudian dapat menggunakan: G di akhir kueri di klien psql sama seperti Anda\G di akhir kueri di klien mysql:

pagila=# select * from foo limit 1;
 id | uniq | val |       val_ts        
----+------+-----+---------------------
  1 |    1 |   3 | 2007-07-03 00:00:00
(1 row)

Time: 11.481 ms
pagila=# select * from foo limit 1 :G
-[ RECORD 1 ]---------------
id     | 1
uniq   | 1
val    | 3
val_ts | 2007-07-03 00:00:00
34
mage2k

Meminjam dari jawaban ini :

Anda dapat menambahkan \x\g\x Ke kueri seperti yang Anda lakukan dengan MySQL \G. Sebagai contoh:

select * from users \x\g\x

Perhatikan kekurangan ; Di baris di atas, ini disengaja.

Ini memiliki efek mengaktifkan tampilan yang diperluas, menjalankan kueri yang diungkapkan, dan menonaktifkan tampilan yang diperluas, semuanya dalam satu pernyataan.

19
Eben Geer

Sejak PostgreSQL 10, psql memiliki \gx yang setara dengan mysql's \G

select * from sometable \gx

Dokumentasi :

\ gx [nama file]
\gx [| command]
\gx setara dengan\g, tetapi memaksakan mode keluaran yang diperluas untuk kueri ini. Lihat\x.

Urutannya \x\g\x melakukan hal yang sama, tetapi hanya ketika \x (= tampilan yang diperluas) tidak aktif. Kalau tidak, itu sebaliknya! Sebaliknya \gx selalu ditampilkan dengan output diperluas secara independen dari rezim \x.

9
Daniel Vérité

Anda dapat beralih psql ke mode extended dengan\x sebelum Anda menjalankan perintah, tetapi Anda tidak bisa melakukannya berdasarkan perintah dengan perintah seperti yang Anda bisa di mysql.

3
David Pashley