1. PSQL 접속 방법
PSQL 접속 방법은 매우 다양합니다.
1-1. pgAdmin을 이용한 접속
위 사진처럼 pgAdmin에 설정되어 있는 특정 DB에 오른쪽 마우스 클릭을 하고 PSQL Tool을 눌러 접근 가능합니다.
만약 Please configure the PostgreSQL Binary Path in the Preferences dialog. 라는 에러 문구가 나타난다면 (pgAdmin) PostgreSQL Binary Path 설정하기 포스트를 참고해주세요.
1-2. SQL Shell을 이용한 접속
윈도우에서 PostgreSQL을 설치하셨다면, SQL Shell (psql) 이라는 쉘 프로그램이 다운로드 되어 있을 것입니다.
쉘에서 요구하는 내용에 따라 Host Name, Database Name, Port, User Name, User Password 만 입력해주면 손쉽게 접속이 가능합니다.
1-3. Ubuntu 터미널에서의 접속
Ubuntu와 같은 Debian 계열의 OS에서는 PostgreSQL 패키지를 지원하기 때문에, 터미널에서 psql로 바로 접속이 가능합니다. 먼저 아래 커맨드를 통해 필수 패키지 설치부터 진행합니다.
$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib
위 패키지를 설치하면 postgres라는 계정이 자동으로 생성됩니다.
로컬에서 postgres를 사용할 예정이라면 아래 커맨드를 통해 postgres 계정으로 접근하고, psql 명령어만 입력하여 간단하게 데이터베이스에 접근이 가능합니다.
$ sudo -i -u postgres
$ psql
AWS의 RDS나 다른 환경의 데이터베이스에 접근하기 위해서는 아래와 같은 커맨드를 사용할 수 있습니다.
$ psql -h {$host} -p {$port} -U {$user} -d {$database}
이후 데이터베이스에 접근하려는 유저의 비밀번호만 입력하면 손쉽게 접속이 가능합니다.
2. 주요 PSQL 커맨드
주로 사용하는 PSQL 커맨드에 대해서 알아보겠습니다.
2-1. 데이터베이스 전환
아래 커맨드를 통해 다른 데이터베이스로 접속할 수 있습니다.
$user를 입력하지 않을 경우, 현재 접속중인 유저로 데이터베이스을 전환하기만 합니다.
\c {$database} {$user}
2-2. 특정 Table 상세 조회
특정 Table에 대한 field(column), type, null constraint 등을 확인할 수 있습니다.
\d {$table_name}
2-3. 리스트 조회
커맨드에 따른 리스트를 조회합니다.
각 커맨드 뒤에 +를 붙혀서 상세 정보를 출력 가능합니다.
커맨드 | 기능 |
\list 또는 \l | 전체 Database 목록 조회 |
\dt | 접속한 Database의 Table 목록 조회 |
\dv | 접속한 Database의 View 목록 조회 |
\du | 접속한 Database의 User 목록 조회 |
\dn | 접속한 Database의 Schema 목록 조회 |
\ds | 접속한 Database의 Sequence 목록 조회 |
\df | 접속한 Database의 Function 목록 조회 |
2-4. History 조회 및 활용
- \g : 바로 이전에 실행했던 커맨드 실행
- \s : 이전에 실행했던 커맨드 히스토리 조회
2-5. Query 결과 Display 설정
- \x : Column을 세로로 배치하여 display (on/off)
- \a : Column Align (on/off)
- \H : Column name과 결과 값을 HTML Table 형식으로 display (on/off)
2-6. Query 실행 시간 표시
각 쿼리를 수행할 때마다, 실행하는데 걸린 시간을 표시할 수 있습니다.
\timing
2-7. PSQL 종료
psql을 종료할 수 있습니다.
\q