Postgres tương đương với \ G của MySQL?


78

Có ai biết Postgres có cách hiển thị kết quả truy vấn một cách "đẹp mắt" không, giống như cách MySQL thực hiện khi kết thúc truy vấn với \ G trên dòng lệnh? Ví dụ: "select * từ đôi khi \ G" trái ngược với "select * từ đôi khi;"

Cảm ơn nhiều!

Câu trả lời:


93

Tôi không đủ quen thuộc với MySQL để biết tùy chọn \ G làm gì, nhưng dựa trên tài liệu, có vẻ như tùy chọn psql \ x có thể làm những gì bạn muốn.

Tuy nhiên, đó là một sự thay đổi, vì vậy bạn làm điều đó trước khi bạn gửi truy vấn.

\x
select * from sometable;

34

Trên thực tế, bạn có thể kích hoạt định dạng kiểu \ G mysql trên cơ sở mỗi truy vấn trong psql bằng cách đặt dòng sau vào ~ / .psqlrc:

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

Sau đó, bạn có thể sử dụng: G ở cuối truy vấn trong máy khách psql giống như bạn sẽ \ G ở cuối truy vấn trong máy khách 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

Mượn từ câu trả lời này :

Bạn có thể nối \x\g\xvào truy vấn giống như với MySQL \G. Ví dụ:

select * from users \x\g\x

Lưu ý thiếu ;trong dòng trên, đây là cố ý.

Điều này có tác dụng cho phép hiển thị mở rộng, chạy truy vấn được thể hiện và vô hiệu hóa hiển thị mở rộng, tất cả trong một câu lệnh.


7

Kể từ PostgreSQL 10, psql\gxtương đương chính xác với mysql\G

select * from sometable \gx

Tài liệu :

\ gx [tên tệp]
\ gx [| lệnh]
\ gx tương đương với \ g, nhưng buộc chế độ đầu ra mở rộng cho truy vấn này. Xem \ x.

Trình tự \x\g\xthực hiện tương tự, nhưng chỉ khi \x(= màn hình mở rộng) tắt. Nếu không thì làm ngược lại! Ngược lại \gxluôn hiển thị với đầu ra mở rộng độc lập với chế độ hiện tại của \x.


3

Bạn có thể chuyển psql sang chế độ mở rộng với \ x trước khi bạn chạy lệnh, nhưng bạn không thể thực hiện trên lệnh bằng cơ sở lệnh như bạn có thể làm trong mysql.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.