티스토리 뷰

반응형

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)들의 목록을 출력

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함