Postgres setara dengan MySQL's G?


78

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!

Jawaban:


93

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;

34

Sebenarnya, Anda dapat mengaktifkan pemformatan gaya \ G mysql berdasarkan per-kueri di psql dengan meletakkan yang berikut 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

16

Meminjam dari jawaban ini :

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

select * from users \x\g\x

Perhatikan kekurangan ;pada baris di atas, ini disengaja.

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


7

Sejak PostgreSQL 10, psqlmemiliki \gxyang setara dengan mysql\G

select * from sometable \gx

Dokumentasi :

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

Urutan \x\g\xmelakukan hal yang sama, tetapi hanya ketika \x(= tampilan diperluas) tidak aktif. Kalau tidak, itu sebaliknya! Sebaliknya \gxselalu ditampilkan dengan output diperluas secara independen dari rezim saat ini \x.


3

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.