PostgreSQL | psql을 사용하여 PostgreSQL에 연결 | psql 메타 명령의 목록과 실행 방법
psql을 사용하여 PostegreSQL에 연결하여 실행 가능한 psql 메타 명령의 사용법과 명령의 목록에 대해 설명한다.
psql 명령의 실행 방법
psql는 PostgreSQL에 접속하여 실행 가능한 명령이 많이 제공되고 있다. 명령의 목록을 확인하려면 다음과 같이 수행한다.
psql 명령 목록과 사용법이 표시된다. (명령 목록은이 페이지의 마지막에 기재되어 있다.)
\?
postgres=# \?
일반
\copyright PostgreSQL 사용법 및 저작권 정보 표시
\crosstabview [칼럼들] 쿼리를 실행하고, 피봇 테이블 형태로 자료를 보여줌
\errverbose 최대 자세히 보기 상태에서 최근 오류를 다 보여줌
\g [FILE] 또는 ; 쿼리 실행(및 결과를 파일 또는 |파이프로 보냄)
\gdesc 쿼리를 실행하지 않고 그 결과 칼럼과 자료형을 출력
\gexec 쿼리를 실행하고, 그 결과를 각각 실행 함
\gset [PREFIX] 쿼리 실행 뒤 그 결과를 psql 변수로 저장
\gx [FILE] \g 명령과 같으나, 출력을 확장 모드로 강제함
\q psql 종료
\watch [SEC] 매 초마다 쿼리 실행
도움말
\? [commands] psql 역슬래시 명령어 설명
\? options psql 커멘드 라인 옵션 도움말 보기
\? variables psql 환경 설정 변수들에 설명 보기
\h [NAME] SQL 명령 구문 도움말, 모든 명령을 표시하려면 * 입력
psql 명령은 Windows의 경우 백 슬래시()에서 시작하는 것으로, 예를 들어 psql를 종료하고 PostgreSQL과의 연결을 끊을 때 사용하는 \q
도 psql 명령 중 하나이다 .
\q
C:\>psql -U postgres
postgres 사용자의 암호:
psql (12.2)
도움말을 보려면 "help"를 입력하십시오.
postgres=# \q
C:\>
psql 명령을 사용하여 생성된 데이터베이스 목록을 검색 할 수 있다.
\l
postgres=# \l
postgres=# \l
데이터베이스 목록
이름 | 소유주 | 인코딩 | Collate | Ctype | 액세스 권한
-----------+----------+--------+------------------+------------------+-----------------------
devkuma | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 |
postgres | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 |
template0 | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | Korean_Korea.949 | Korean_Korea.949 | =c/postgres +
| | | | | postgres=CTc/postgres
(4개 행)
현재 연결된 데이터베이스와 다른 데이터베이스에 연결할 수 있다.
\c devkuma
postgres=# \c devkuma
접속정보: 데이터베이스="devkuma", 사용자="postgres".
devkuma=#
psql 명령 목록
일반:
명령어 |
설명 |
\copyright |
PostgreSQL 사용법 및 저작권 정보 표시 |
\crosstabview [칼럼들] |
쿼리를 실행하고, 피봇 테이블 형태로 자료를 보여줌 |
\errverbose |
최대 자세히 보기 상태에서 최근 오류를 다 보여줌 |
\g [FILE] 또는 ; |
쿼리 실행(및 결과를 파일 또는| 파이프로 보냄) |
\gdesc |
쿼리를 실행하지 않고 그 결과 칼럼과 자료형을 출력 |
\gexec |
쿼리를 실행하고, 그 결과를 각각 실행 함 |
\gset [PREFIX] |
쿼리 실행 뒤 그 결과를 psql 변수로 저장 |
\gx [FILE] |
\g 명령과 같으나, 출력을 확장 모드로 강제함 |
\q |
psql 종료 |
\watch [SEC] |
매 초마다 쿼리 실행 |
도움말:
명령어 |
설명 |
? [commands] |
psql 역슬래시 명령어 설명 |
? options |
psql 커멘드 라인 옵션 도움말 보기 |
? variables |
psql 환경 설정 변수들에 설명 보기 |
\h [NAME] |
SQL 명령 구문 도움말, 모든 명령을 표시하려면 * 입력 |
쿼리 버퍼:
명령어 |
설명 |
\e [FILE] [LINE] |
외부 편집기로 쿼리 버퍼(또는 파일) 편집 |
\ef [FUNCNAME [LINE]] |
외부 편집기로 해당 함수 내용 편집 |
\ev [VIEWNAME [LINE]] |
외부 편집기로 해당 뷰 정의 편집 |
\p |
쿼리 버퍼의 내용 표시 |
\r |
쿼리 버퍼 초기화(모두 지움) |
\w FILE |
쿼리 버퍼를 파일에 기록 |
입력/출력:
명령어 |
설명 |
\copy … |
클라이언트 호스트에 있는 자료를 SQL COPY 명령 실행 |
\echo [STRING] |
문자열을 표준 출력에 기록 |
\i FILE |
파일에서 명령 실행 |
\ir FILE |
\i 명령과 같으나, 경로가 현재 위치 기준 상대적 |
\o [FILE] |
모든 쿼리 결과를 파일 또는 | 파이프로 보냄 |
\qecho [STRING] |
문자열을 쿼리 출력 스트림에 기록(\o 참조) |
조건문:
명령어 |
설명 |
\if EXPR |
조건문 시작 |
\elif EXPR |
else if 구문 시작 |
\else |
조건문의 그 외 조건 |
\endif |
조건문 끝 |
정보보기:
(옵션: S = 시스템 개체 표시, + = 추가 상세 정보)
명령어 |
설명 |
\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[+] 뷰이름 |
뷰 정의 보기 |
출력 형식:
명령어 |
설명 |
\a |
정렬되지 않은 출력 모드와 정렬된 출력 모드 전환 |
\C [STRING] |
테이블 제목 설정 또는 값이 없는 경우 설정 안 함 |
\f [STRING] |
unaligned 출력에 대해 필드 구분자 표시 또는 설정 |
\H |
HTML 출력 모드 전환(현재 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 |
큰 개체 작업 |
최종 수정 : 2020-11-12