티스토리 뷰
psql 창에서, 사용되는 커맨드를 알아보고자 한다.
※ 참고: bash 창(psql이 깔린 경로, /var/lib/pgsql96)에서, cat .bash_profile 을 입력하면
PGDATA=/var/lib/pgsql93/data 라고 뜬다.
이 경로가 데이터베이스 저장 경로이다.
1. \db: 테이블스페이스(tablespace)를 보여준다.
※테이블스페이스란?
- Mysql 과 MariaDB에서는 없는 개념이며, Oracle과 PostgreSQL에서만 존재하는 개념.
- 일반적으로 데이터베이스는 지정된 장소에만 저장할 수 있으나, 테이블스페이스를 이용하면 아무 경로로 지정하여 데이터베이스를 저장할 수 있다. 따라서, DB를 확장하거나 HDD에서 쓰이든 DB를 SSD로 옮기게 함으로써 성능 향상을 꾀할 수 있다.
데이터베이스를 만들 때, 테이블스페이스를 지정하지 않으면 기본 설정된 곳에 데이터베이스가 만들어진다.
tablespace의 생성 예: CREATE TABLESPACE gibeom LOCATION '/dev/ssd/db2/data';
-> /dev/ssd/db2/data 경로에 gibeom 이라는 테이블 스페이스가 만들어졌다.
2. \l: 모든 데이터베이스를 출력
3. \c 데이터베이스이름: 해당 데이터베이스로 이동
4. \dt: 선택된 데이터베이스의 테이블 목록 출력
5. \dn: 해당 유저(Role)의 스키마 목록을 출력
※ Postgresql에서 데이터베이스와 스키마의 차이?
- 간단하게, 스키마는 실질적인 데이터베이스를 프로젝트 사용자(Role)가 관리하기 쉽도록 지정한 논리적 구조로 유연성이 있다.(같은 테이블을 다른 스키마 내에서 사용할 수 있음)
더 쉽게 말하자면, 데이터베이스를 관리해주는 일부분이다. 참고로 Mysql에선 데이터베이스와 스키마는 차이가 없다.
6. \d: 테이블이름: 해당 테이블의 구조를 출력
7. \du: 유저(Role)들의 목록을 출력
'개발일지 > RDBMS' 카테고리의 다른 글
Postgresql 기본 쿼리문 + CRUD(Create(Insert), Read(Select), Update, Delete) 쿼리문 (0) | 2018.05.12 |
---|