MySQL के G के बराबर पोस्टग्रैजेस?


78

क्या किसी को पता है कि क्या Postgres के पास क्वेरी परिणामों को "पहले से" प्रदर्शित करने का एक तरीका है, जैसे कि MySQL कमांड लाइन पर \ G के साथ एक क्वेरी को समाप्त करते समय कैसे करता है? उदाहरण के लिए, "सेलेबल * का चयन करें" के रूप में "कुछ से" का चयन करें।

बहुत धन्यवाद!

जवाबों:


93

मैं MySQL के साथ पर्याप्त रूप से परिचित नहीं हूं कि यह जानने के लिए कि \ G विकल्प क्या करता है, लेकिन प्रलेखन के आधार पर ऐसा लगता है कि psql \ x विकल्प वह कर सकता है जो आप चाहते हैं।

हालाँकि, यह एक टॉगल है, इसलिए आप क्वेरी सबमिट करने से पहले करते हैं।

\x
select * from sometable;

34

वास्तव में, आप निम्न ~ ~ .psqlrc में डालकर psql में प्रति-क्वेरी के आधार पर फॉर्मेट करने के लिए \ G mysql स्टाइल को सक्षम कर सकते हैं :

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

आप तब उपयोग कर सकते हैं: Psql क्लाइंट में एक क्वेरी के अंत में G वही होगा जो आप mysql क्लाइंट में क्वेरी के अंत में \ G होगा:

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

इस उत्तर से उधार लेना :

आप \x\g\xक्वेरी को उसी तरह जोड़ सकते हैं जैसे आप MySQL के साथ करेंगे \G। उदाहरण के लिए:

select * from users \x\g\x

;उपरोक्त पंक्ति में कमी पर ध्यान दें , यह जानबूझकर है।

इसमें विस्तारित प्रदर्शन को सक्षम करने, व्यक्त क्वेरी को चलाने, और विस्तारित प्रदर्शन को अक्षम करने का प्रभाव है, सभी एक बयान में।


7

PostgreSQL 10 के बाद से, psqlहै \gxजो mysql के की सटीक बराबर है\G

select * from sometable \gx

प्रलेखन :

\ gx [फ़ाइल नाम]
\ gx [| कमांड]
\ gx \ g के बराबर है, लेकिन इस क्वेरी के लिए बलों ने आउटपुट मोड का विस्तार किया है। \ X देखें।

अनुक्रम \x\g\xसमान है, लेकिन केवल जब \x(= विस्तारित प्रदर्शन) बंद है। अन्यथा यह विपरीत है! इसके विपरीत \gxहमेशा मौजूदा शासन के स्वतंत्र रूप से विस्तारित आउटपुट के साथ प्रदर्शित होता है \x


3

आप कमांड चलाने से पहले psql को विस्तारित मोड में टॉगल कर सकते हैं, लेकिन आप कमांड के आधार पर ऐसा नहीं कर सकते जैसे आप mysql में कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.