열 이름이 있는 행당 하나의 열을 표시하는 psql의 대체 출력 형식
Ubuntu에서/Postgre/Postgre/Postgre/ 8를 사용하고 .Ubuntu(Ubuntu) SQL 8.4. 테이블을 가지고 있습니다.c1를 통하여cN열이 너무 넓어서 모든 열을 선택하면 쿼리 결과 행이 여러 번 래핑됩니다.결과적으로 출력을 읽기가 어렵습니다.
쿼리 결과가 몇 개의 행만 구성하는 경우 각 행의 각 열이 별도의 줄에 있도록 쿼리 결과를 볼 수 있으면 편리합니다.
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
추가 소프트웨어를 설치하지 않으려는 서버에서 이러한 쿼리를 실행하고 있습니다.제가 그런 일을 할 수 있는 psql 설정이 있나요?
저는 단지 서류를 보는 데 더 많은 시간을 할애할 필요가 있었습니다.다음 명령:
\x on
내가 원하는 대로 할 겁니다다음은 몇 가지 샘플 출력입니다.
select * from dda where u_id=24 and dda_is_deleted='f';
-[ RECORD 1 ]------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dda_id | 1121
u_id | 24
ab_id | 10304
dda_type | CHECKING
dda_status | PENDING_VERIFICATION
dda_is_deleted | f
dda_verify_op_id | 44938
version | 2
created | 2012-03-06 21:37:50.585845
modified | 2012-03-06 21:37:50.593425
c_id |
dda_nickname |
dda_account_name |
cu_id | 1
abd_id |
참고 항목:
(신규) 자동 모드 확장: \x 자동
Postgresql 9.2의 새로운 기능. PSQL은 레코드를 화면 너비에 자동으로 맞춥니다.이전에는 확장 모드만 켜거나 끌 수 있었고 필요에 따라 모드를 전환해야 했습니다.
- 레코드가 화면 너비에 맞을 수 있는 경우 psql은 일반 형식을 사용합니다.
- 레코드가 화면 너비에 맞지 않는 경우, psql은 확장 모드를 사용합니다.
사용 방법: \x auto
PSQL에 대한 Postgresql 9.5 설명서 명령.
와이드 스크린, 일반 포맷:
id | time | humanize_time | value
----+-------+---------------------------------+-------
1 | 09:30 | Early Morning - (9.30 am) | 570
2 | 11:30 | Late Morning - (11.30 am) | 690
3 | 13:30 | Early Afternoon - (1.30pm) | 810
4 | 15:30 | Late Afternoon - (3.30 pm) | 930
(4 rows)
좁은 화면, 확장된 포맷:
-[ RECORD 1 ]-+---------------------------
id | 1
time | 09:30
humanize_time | Early Morning - (9.30 am)
value | 570
-[ RECORD 2 ]-+---------------------------
id | 2
time | 11:30
humanize_time | Late Morning - (11.30 am)
value | 690
-[ RECORD 3 ]-+---------------------------
id | 3
time | 13:30
humanize_time | Early Afternoon - (1.30pm)
value | 810
-[ RECORD 4 ]-+---------------------------
id | 4
time | 15:30
humanize_time | Late Afternoon - (3.30 pm)
value | 930
\x auto로 psql을 시작하는 방법은 무엇입니까?
를 구성합니다.\x auto시 시할때 을에추다니합에 하여 명령합니다..psqlrc홈 폴더에서 psql을 다시 시작합니다.자세한 내용은 psql 문서의 '파일' 섹션을 참조하십시오.
~/.psqlrc
\x auto
선택의 여지가 너무 많은데 어떻게 헷갈릴 수가 있어요 :-?주 컨트롤은 다음과 같습니다.
# \pset format
# \H
# \x
# \pset pager off
각각은 다른 것들과의 상호작용과 옵션을 가지고 있습니다.가장 자동적인 옵션은 다음과 같습니다.
# \x off;\pset format wrapped
# \x auto
새로운 "\x auto" 옵션은 "필요한 경우"에만 라인별 표시로 전환됩니다.
-[ RECORD 1 ]---------------
id | 6
description | This is a gallery of oilve oil brands.
authority | I love olive oil, and wanted to create a place for
reviews and comments on various types.
-[ RECORD 2 ]---------------
id | 19
description | XXX Test A
authority | Testing
이전의 "\pset format wrapped"는 화면에 데이터를 깔끔하게 맞추려고 하지만 헤더가 맞지 않을 경우 정렬되지 않은 상태로 되돌린다는 점에서 유사합니다.다음은 포장된 예입니다.
id | description | authority
----+--------------------------------+---------------------------------
6 | This is a gallery of oilve | I love olive oil, and wanted to
; oil brands. ; create a place for reviews and
; ; comments on various types.
19 | Test Test A | Testing
한가지 흥미로운 점은 우리는 테이블을 접지 않고 수평으로 볼 수 있다는 것입니다.우리는 사용할 수 있습니다.PAGER환경 변수입니다. psql은 그것을 사용합니다.설정할 수 있습니다.
export PAGER='/usr/bin/less -S'
아니면 그냥less -S명령줄에서 이미 사용할 수 있는 경우, 올바른 위치에서 사용할 수 없는 경우 -S를 눌러 펼침 선을 봅니다.사용자 정의 뷰어 또는 기타 옵션을 전달할 수 있습니다.
Psql Horizontal Display에서 더 많이 썼습니다.
pspg 고급 테이블 형식 지정, 수평 스크롤, 검색 등 다양한 기능을 제공하는 간단한 도구입니다.
git clone https://github.com/okbob/pspg.git
cd pspg
./configure
make
make install
그럼 꼭 업데이트 해주세요.PAGER변수, 예를 들어 당신의~/.bashrc
export PAGER="pspg -s 6"
어디에-s색상표()를 나타냅니다.1-14pgdg 저장소를 사용하는 경우 패키지를 설치하면 됩니다(데비안과 유사한 배포판).
sudo apt install pspg
psql을 찾고 있는 경우command-line mode나처럼.
여기 구문이 있습니다.--pset expanded=auto
psql 명령줄 옵션:
-P expanded=auto
--pset expanded=auto
-x
--비공식적인
...
또 다른 방법은-q옵션 참조
또한 HTML 출력을 켜거나 끌 수 있는 \H도 체크아웃해야 합니다.콘솔에서 읽기 쉽다고는 할 수 없지만 파일에 덤프하거나(\o 참조) 편집기/브라우저 창에 붙여 비교적 복잡한 데이터의 여러 행을 볼 수 있습니다.
zenity를 사용하여 쿼리 출력을 html 테이블로 표시할 수 있습니다.
먼저 다음 코드를 사용하여 bash 스크립트를 구현합니다.
cat > '/tmp/sql.op'; zenity --text-info --cats=sql.op';
내 호출기처럼 저장합니다.쉬
그런 다음 스크립트의 전체 경로를 값으로 설정하여 환경 변수 PAGER를 내보냅니다.
예: - PAGER=syspath/mypager를 내보냅니다.쉬'
그런 다음 psql 프로그램에 로그인하고 \H 명령을 실행합니다.
마지막으로 쿼리를 실행하면 테이블에 표시된 출력이 HTML 테이블 형식으로 zenity로 표시됩니다.
언급URL : https://stackoverflow.com/questions/9604723/alternate-output-format-for-psql-showing-one-column-per-line-with-column-name
'programing' 카테고리의 다른 글
| 정말 이상한 이클립스 키보드 동작/버그? (0) | 2023.05.24 |
|---|---|
| 오류: 네임스페이스 'std'에 'remove_cv_t'라는 템플릿이 없습니다. 'remove_cv'를 의미합니까? (0) | 2023.05.24 |
| mongodb에서 $와 $match를 사용합니다. (0) | 2023.05.24 |
| Windows 배치: 절전 (0) | 2023.05.24 |
| 레코드 대 클래스 대 구조를 사용할 때 (0) | 2023.05.24 |
