Antworten:
Ich kenne MySQL nicht gut genug, um zu wissen, was die Option \ G bewirkt, aber auf der Grundlage der Dokumentation sieht es so aus, als würde die Option psql \ x das tun, was Sie wollen.
Es ist jedoch ein Umschalten, also tun Sie es, bevor Sie die Abfrage absenden.
\x
select * from sometable;
Eigentlich Sie können \ G mysql Stil Formatierung auf einer Pro-Abfrage Basis in psql , indem Sie den folgenden in ~ / .psqlrc aktivieren:
\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
Sie können dann Folgendes verwenden: G am Ende einer Abfrage im psql-Client wie \ G am Ende einer Abfrage im mysql-Client:
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
Aus dieser Antwort entlehnt :
Sie können \x\g\x
an die Abfrage genau wie bei MySQLs anhängen \G
. Zum Beispiel:
select * from users \x\g\x
Beachten Sie das Fehlen ;
in der obigen Zeile, dies ist beabsichtigt.
Dies hat den Effekt, dass die erweiterte Anzeige aktiviert, die angegebene Abfrage ausgeführt und die erweiterte Anzeige in einer Anweisung deaktiviert wird.
Seit PostgreSQL 10 psql
hat \gx
das genau das Äquivalent von MySQL\G
select * from sometable \gx
\ gx [Dateiname]
\ gx [| Befehl]
\ gx entspricht \ g, erzwingt jedoch den erweiterten Ausgabemodus für diese Abfrage. Siehe \ x.
Die Sequenz \x\g\x
macht dasselbe, aber nur wenn \x
(= erweitertes Display) ausgeschaltet ist. Sonst macht es das Gegenteil! Im Gegensatz dazu \gx
wird mit der erweiterten Ausgabe immer unabhängig vom aktuellen Regime von angezeigt \x
.
Sie können psql mit \ x in den erweiterten Modus versetzen, bevor Sie einen Befehl ausführen. Sie können dies jedoch nicht wie in mysql befehlsbezogen tun.