psql 명령 도움말 확인하기

PostgreSQL

PostgreSQL은 서버/클라이언트 형태의 관계형 데이터 베이스 시스템입니다. psql은 PostgreSQL서버에 sql문을 송신해서 결과를 수신 및 표시하는 클라이언트 쪽에서 사용하는 Character User Interface(CUI) 명령입니다. 이 글에서는 psql의CUI안에서 사용하는 모든 명령에 대해서 소개합니다.

도움말 보기

psql의CUI에서 다음과 같은 \n 명령으로 각 명령들의 도움말을 표시합니다.

postgres=# \?

도움말

명령내용
\? [commands]psql 역슬래시 명령어 설명
\? optionspsql 명령행 옵션 도움말 보기
\? variablespsql 환경 설정 변수들에 설명 보기
\h [NAME]SQL 명령 구문 도움말, 모든 명령을 표시하려면 * 입력

일반

명령내용
\copyrightPostgreSQL 사용법 및 저작권 정보 표시
\crosstabview [칼럼들]쿼리를 실행하고, 피봇 테이블 형태로 자료를 보여줌
\errverbose최대 자세히 보기 상태에서 최근 오류를 다 보여줌
\g [FILE] 또는 ;쿼리 실행(및 결과를 파일 또는 |파이프로 보냄)
\gdesc쿼리를 실행하지 않고 그 결과 칼럼과 자료형을 출력
\gexec쿼리를 실행하고, 그 결과를 각각 실행 함
\gset [PREFIX]쿼리 실행 뒤 그 결과를 psql 변수로 저장
\gx [FILE]\g 명령과 같으나, 출력을 확장 모드로 강제함
\qpsql 종료
\watch [SEC]매 초마다 쿼리 실행

쿼리 버퍼

명령내용
\e [FILE] [LINE]외부 편집기로 쿼리 버퍼(또는 파일) 편집
\ef [FUNCNAME [LINE]]외부 편집기로 해당 함수 내용 편집
\ev [VIEWNAME [LINE]]외부 편집기로 해당 뷰 정의 편집
\p쿼리 버퍼의 내용 표시
\r쿼리 버퍼 초기화(모두 지움)
\s [FILE]기록 표시 또는 파일에 저장
\w FILE쿼리 버퍼를 파일에 기록

입력/출력

명령내용
\copy …클라이언트 호스트에 있는 자료를 SQL COPY 명령 실행
\echo [STRING]문자열을 표준 출력에 기록
\i FILE파일에서 명령 실행
\ir FILE\i 명령과 같으나, 경로가 현재 위치 기준 상대적
\o [FILE]모든 쿼리 결과를 파일 또는 |파이프로 보냄
\qecho [STRING]문자열을 쿼리 출력 스트림에 기록(\o 참조)

조건문

명령내용
\if EXPR조건문 시작
\elif EXPRelse if 구문 시작
\else조건문의 그 외 조건
\endif조건문 끝

정보 보기

명령내용
\d[S+]테이블, 뷰 및 시퀀스 목록
\d[S+]  NAME테이블, 뷰, 시퀀스 또는 인덱스 설명
\da[S]  [PATTERN]집계 함수 목록
\dA[+]  [PATTERN]접근 방법 목록
\db[+]  [PATTERN]테이블스페이스 목록
\dc[S+] [PATTERN]문자셋 변환자 목록
\dC[+]  [PATTERN]자료형 변환자 목록
\dd[S]  [PATTERN]다른 곳에서는 볼 수 없는 객체 설명을 보여줌
\dD[S+] [PATTERN]도메인 목록
\ddp    [PATTERN]기본 접근권한 목록
\dE[S+] [PATTERN]외부 테이블 목록
\det[+] [PATTERN]외부 테이블 목록
\des[+] [PATTERN]외부 서버 목록
\deu[+] [PATTERN]사용자 매핑 목록
\dew[+] [PATTERN]외부 데이터 래퍼 목록
\df[anptw][S+] [PATRN] [agg/normal/procedures/trigger/window] 함수 목록
\dF[+]  [PATTERN]텍스트 검색 구성 목록
\dFd[+] [PATTERN]텍스트 검색 사전 목록
\dFp[+] [PATTERN]텍스트 검색 파서 목록
\dFt[+] [PATTERN]텍스트 검색 템플릿 목록
\dg[S+] [PATTERN]롤 목록
\di[S+] [PATTERN]인덱스 목록
\dl큰 개체 목록, \lo_list 명령과 같음
\dL[S+] [PATTERN]프로시져 언어 목록
\dm[S+] [PATTERN]materialized 뷰 목록
\dn[S+] [PATTERN]스키마 목록
\do[S]  [PATTERN]연산자 목록
\dO[S+] [PATTERN]collation 목록
\dp     [PATTERN]테이블, 뷰 및 시퀀스 액세스 권한 목록
\dP[itn+] [PATTERN]파티션 릴레이션 목록 [인덱스/테이블만] [n=nested]
\drds [PATRN1 [PATRN2]]데이터베이스별 롤 설정 목록
\dRp[+] [PATTERN]복제 발행 목록
\dRs[+] [PATTERN]복제 구독 목록
\ds[S+] [PATTERN]시퀀스 목록
\dt[S+] [PATTERN]테이블 목록
\dT[S+] [PATTERN]데이터 형식 목록
\du[S+] [PATTERN]롤 목록
\dv[S+] [PATTERN]뷰 목록
\dx[+]  [PATTERN]확장 모듈 목록
\dy     [PATTERN]이벤트 트리거 목록
\l[+]   [PATTERN]데이터베이스 목록
\sf[+]  함수이름함수 정의 보기
\sv[+] 뷰이름뷰 정의 보기
\z      [PATTERN]\dp와 같음
(옵션: S = 시스템 개체 표시, + = 추가 상세 정보)

출력 형식

명령내용
\a정렬되지 않은 출력 모드와 정렬된 출력 모드 전환
\C [STRING]테이블 제목 설정 또는 값이 없는 경우 설정 안 함
\f [STRING]unaligned 출력에 대해 필드 구분자 표시 또는 설정
\HHTML 출력 모드 전환(현재 off)
\pset [이름 [값]]테이블 출력 옵션 설정
(border|columns|csv_fieldsep|expanded|fieldsep|
fieldsep_zero|footer|format|linestyle|null|
numericlocale|pager|pager_min_lines|recordsep|
recordsep_zero|tableattr|title|tuples_only|
unicode_border_linestyle|unicode_column_linestyle|
unicode_header_linestyle)
\t [on|off]행만 표시(현재 off)
\T [STRING]HTML <table> 태그 속성 설정 또는 비었는 경우 설정 안 함
\x [on|off|auto]확장된 출력 전환 (현재 off)

연결

명령내용
\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}새 데이터베이스에 접속 (현재 “postgres”)
\conninfo현재 데이터베이스 접속 정보 보기
\encoding [ENCODING]클라이언트 인코딩 표시 또는 설정
\password [USERNAME]사용자 암호를 안전하게 변경

운영 체제

명령내용
\cd [DIR]현재 작업 디렉터리 변경
\setenv NAME [VALUE]환경 변수 지정 및 해제
\timing [on|off]명령 실행 시간 전환(현재 off)
\! [COMMAND]셸 명령 실행 또는 대화식 셸 시작

변수

명령내용
\prompt [TEXT] NAME사용자에게 내부 변수를 설정하라는 메시지 표시
\set [NAME [VALUE]]내부 변수 설정 또는 미지정 경우 모든 변수 목록 표시
\unset NAME내부 변수 설정 해제(삭제)

큰 개체

명령내용
\lo_export LOBOID FILE
\lo_import FILE [COMMENT]
\lo_list
\lo_unlink LOBOID큰 개체 작업
제목과 URL을 복사했습니다