Postgres는 MySQL의 \ G에 해당합니까?


78

Postgres가 명령 줄에서 \ G로 쿼리를 종료 할 때 MySQL 이하는 방식과 같이 Postgres에 쿼리 결과를 "예쁘게"표시하는 방법이 있는지 아는 사람이 있습니까? 예를 들어, "select * from sometable;"과 반대로 "select * from sometable \ G"

많은 감사합니다!

답변:


93

나는 \ G 옵션이 무엇을하는지 알기에는 MySQL에 익숙하지 않지만 설명서에 따르면 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\xMySQL과 마찬가지로 쿼리에 추가 할 수 있습니다 \G. 예를 들면 다음과 같습니다.

select * from users \x\g\x

;위 줄 의 부족에 주목하십시오 . 이것은 의도적 인 것입니다.

이는 하나의 명령문에서 확장 표시 사용, 표현 된 쿼리 실행 및 확장 표시 사용 안함의 효과를 갖습니다.


7

PostgreSQL을 10 년부터 psql\gxMySQL의의의 정확한 상응하는 것입니다\G

select * from sometable \gx

문서 :

\ gx [filename]
\ gx [| command]
\ gx는 \ g와 동일하지만이 쿼리에 대해 확장 된 출력 모드를 강제합니다. \ x를 참조하십시오.

순서 \x\g\x는 동일하지만 \x(= 확장 표시)가 꺼져 있을 때만 수행됩니다 . 그렇지 않으면 반대입니다! 대조적으로 \gx항상의 현재 체제와 독립적으로 확장 된 출력으로 표시됩니다 \x.


3

명령을 실행하기 전에 psql을 \ x로 확장 모드로 전환 할 수 있지만 mysql에서와 같이 명령별로 명령을 수행 할 수는 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.