Postgres가 명령 줄에서 \ G로 쿼리를 종료 할 때 MySQL 이하는 방식과 같이 Postgres에 쿼리 결과를 “예쁘게”표시하는 방법이 있는지 아는 사람이 있습니까? 예를 들어, “select * from sometable;”과 반대로 “select * from sometable \ G”
많은 감사합니다!
답변
나는 \ G 옵션이 무엇을하는지 알기에는 MySQL에 익숙하지 않지만 설명서에 따르면 psql \ x 옵션이 원하는 것을 할 수있는 것처럼 보입니다.
토글이므로 쿼리를 제출하기 전에 수행하십시오.
\x
select * from sometable;
답변
실제로 ~ / .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
답변
이 답변 에서 차용 :
\x\g\x
MySQL과 마찬가지로 쿼리에 추가 할 수 있습니다 \G
. 예를 들면 다음과 같습니다.
select * from users \x\g\x
;
위 줄 의 부족에 주목하십시오 . 이것은 의도적 인 것입니다.
이는 하나의 명령문에서 확장 표시 사용, 표현 된 쿼리 실행 및 확장 표시 사용 안함의 효과를 갖습니다.
답변
PostgreSQL을 10 년부터 psql
한 \gx
MySQL의의의 정확한 상응하는 것입니다\G
select * from sometable \gx
문서 :
\ gx [filename]
\ gx [| command]
\ gx는 \ g와 동일하지만이 쿼리에 대해 확장 된 출력 모드를 강제합니다. \ x를 참조하십시오.
순서 \x\g\x
는 동일하지만 \x
(= 확장 표시)가 꺼져 있을 때만 수행됩니다 . 그렇지 않으면 반대입니다! 대조적으로 \gx
항상의 현재 체제와 독립적으로 확장 된 출력으로 표시됩니다 \x
.
답변
명령을 실행하기 전에 psql을 \ x로 확장 모드로 전환 할 수 있지만 mysql에서와 같이 명령별로 명령을 수행 할 수는 없습니다.