ไม่มีใครรู้ว่า Postgres มีวิธีแสดงผลลัพธ์ของแบบสอบถาม "prettily" เช่นเดียวกับที่ MySQL ทำเมื่อสิ้นสุดแบบสอบถามด้วย \ G บนบรรทัดคำสั่งหรือไม่ ตัวอย่างเช่น "select * from someable \ G" ซึ่งตรงข้ามกับ "select * from sometable;"
ขอบคุณมาก!
ไม่มีใครรู้ว่า Postgres มีวิธีแสดงผลลัพธ์ของแบบสอบถาม "prettily" เช่นเดียวกับที่ MySQL ทำเมื่อสิ้นสุดแบบสอบถามด้วย \ G บนบรรทัดคำสั่งหรือไม่ ตัวอย่างเช่น "select * from someable \ G" ซึ่งตรงข้ามกับ "select * from sometable;"
ขอบคุณมาก!
คำตอบ:
ฉันไม่คุ้นเคยกับ MySQL ที่จะรู้ว่าตัวเลือก \ G ทำอะไร แต่จากเอกสารดูเหมือนว่าตัวเลือก psql \ x อาจทำในสิ่งที่คุณต้องการ
แม้ว่าจะเป็นแบบเปิดปิดดังนั้นคุณต้องทำก่อนที่จะส่งแบบสอบถาม
\x
select * from sometable;
ที่จริงแล้วคุณสามารถเปิดใช้งานการจัดรูปแบบสไตล์ \ G mysql แบบต่อข้อความค้นหาใน psql โดยใส่ต่อไปนี้ใน ~ / .psqlrc:
\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
จากนั้นคุณสามารถใช้: G ที่ส่วนท้ายของแบบสอบถามในไคลเอนต์ psql เช่นเดียวกับที่คุณต้องการ \ G ที่ส่วนท้ายของแบบสอบถามในไคลเอนต์ 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
การยืมจากคำตอบนี้ :
คุณสามารถผนวก\x\g\x
กับการสืบค้นข้อมูลเช่นเดียวกับที่คุณจะมีของ \G
MySQL ตัวอย่างเช่น:
select * from users \x\g\x
โปรดสังเกตว่าการขาด;
ในบรรทัดข้างต้นนี้เป็นเจตนา
สิ่งนี้มีผลในการเปิดใช้งานการแสดงผลแบบขยายการเรียกใช้แบบสอบถามที่แสดงออกมาและการปิดใช้งานการแสดงผลแบบขยายทั้งหมดนี้อยู่ในคำสั่งเดียว
ตั้งแต่ PostgreSQL 10 psql
ได้\gx
ซึ่งเป็นที่แน่นอนของเทียบเท่าของ MySQL\G
select * from sometable \gx
\ gx [filename]
\ gx [| คำสั่ง]
\ gx เทียบเท่ากับ \ g แต่บังคับให้ใช้โหมดเอาต์พุตแบบขยายสำหรับเคียวรีนี้ ดู \ x
ลำดับ\x\g\x
จะเหมือนกัน แต่เฉพาะเมื่อ\x
(= จอแสดงผลแบบขยาย) ปิดอยู่ มิฉะนั้นมันจะตรงกันข้าม! ในทางตรงกันข้ามจะแสดงกับการส่งออกขยายตัวเป็นอิสระจากระบอบการปกครองในปัจจุบันของ\gx
\x
คุณสามารถสลับ psql เข้าสู่โหมดเพิ่มเติมด้วย \ x ก่อนที่คุณจะเรียกใช้คำสั่ง แต่คุณไม่สามารถทำได้บนคำสั่งตามคำสั่งพื้นฐานเช่นเดียวกับที่คุณทำใน mysql