반응형

<참조> https://browndwarf.tistory.com/51

 

PostgreSQL, 터미널에서 PSQL 사용하기

 

터미널(또는 커맨드쉘)에서 PSQL 명령을 이용할 수 있다. Windows 같은 GUI 환경에서는 pgAdmin Client Tool을 사용할 수 있지만 터미널을 이용해야 하는 경우에는 PSQL을 활용해야 한다. 

 

PSQL을 통한 DB 접속 예

# localhost, 5432 port로 접속. Target DB는 현재 사용자 이름과 동일
$ psql
# localhost, 5432 port로 접속. User는 'postgres', Target DB는 유저와 동일
$ psql -U postgres
# 10.52.0.1, 5432 port로 접속. User는 현재 유저이며 Target DB는 유저와 동일
psql -h 10.52.0.1 
# 10.52.0.1, 5432 port로 접속. User는 'posgres', Target DB는 User와 동일
$ psql -h 10.52.0.1 -U posgres
# 10.52.0.1, 5432 port로 접속. User는 현재 유저이며 Target DB는 'testdb'
$ psql -h 10.52.0.1 -U testuser testdb
$ psql -h 10.52.0.1 -U testuser -d testdb
# 10.52.0.1, 9000 port로 접속. User는 현재 유저이며 Target DB는 'testdb'
$ psql -h 10.52.0.1 -p 9000 -U testuser testdb
$ psql -h 10.52.0.1 -p 9000 -U testuser -d testdb

 

PSQL 주요 명령

 

1. 접속한 DB Instance 변경

\c : 여러 DB Instance 증에서 Query 실행 대상을 변경한다. 

 

사용법

\c [DB Name] [Connection User]

 

# DB Instance 'db1', user 'testuser'
postgres=# \c db1 testuser
# DB Instance 'postgres'에 user 'postgres'로 접속
db1=# \c postgres postgres

 

2. 목록 조회

 

전체 대상 조회

  • \list(or \l) : Database Instance 목록
  • \du : User 목록
  • \? : 명령어 목록 도움말

 

접속한 DB에서 조회

  • \dt : 접속한 DB Instance의 Table 목록
  • \ds : Sequence 목록
  • \df : Function 목록
  • \dv : View 목록
  • \dn : Schema 목록
  • \di : Index 목록 

 

명령 뒤에 '+'를 붙혀서 상세 정보를 볼 수 있다. 상세 정보 항목은 명령마다 다르다.

 
유용한 명령 
  • \g : 직전 명령어 실행. (↑키 사용 가능)
  • \s : 이전 실행 명령어 전체 목록
  • \h : SQL command 관련 도움말
  • \? : psql Command  관련 도움말

 

3. 쿼리 결과 화면 설정

  • \x : Column을 세로로 배치 On/Off (기본 Off)
  • \a : Column 정렬 On/Off  (기본 On)
  • \H(대문자) : HTML Table 코드로 출력 On/Off (기본 Off)

 

4. Query 실행 시간 표시

\timing : Query 실행 시간 출력 On/Off 한다. (기본 Off) 

 

5. 외부 파일을 통한 Query 실행

복잡한 Query는 텍스트 파일로 저장한 후에 실행하는 것이 편하다

\i : 파일에 저장된 Query를 실행

 

사용법

\i  [File Name]

 

6. 외부 텍스트 편집기를 사용하여 실행

외부 편집기로 작성하고 빠져나오면 쿼리가 실행된다. 

 

  • \e : 외부 편집기로 Query 작성해서 실행할 때 사용한다. Linux는 vi, Window는 메모장이 기본이다. 
  • \ef : FUNCTION 편집에 사용한다. (기존 FUNCTION 대체) 존재하지 않는 파일명 지정되면 오류가 발생된다.
  • \ev : View 편집할 때 사용한다.

사용법

\e  [file name]
\ef  [function name]
\ev [view name]

 

[주의] '\e'에 파일명을 생략하면 메모리 버퍼에서 작성되고, 작성 쿼리는 실행 후 사라진다.

 

7. 쉘 명령 실행

\! : PSQL에서 쉘 명령어를 실행한다. 화면 청소하거나 현재 경로에 있는 파일 목록을 확인할 때 사용한다. 

 

사용 예

\! clear : 화면 청소 (리눅스)
\! cls : 화면 청소 (윈도우즈)
\! pwd : 현재 경로 확인 (리눅스)
\! cd : 현재 경로 확인 (윈도우즈)
\! ls : 현재 경로의 파일 확인 (리눅스)
\! dir : 현재 경로의 파일 확인 (윈도우즈)
\! cd [Path] : [Path]로 경로 이동

 

8. PSQL 종료

\q  

 

반응형

+ Recent posts