[PostgreSQL] PSQL 명령어

Younghwan Cha·2022년 11월 23일
0

Database

목록 보기
8/16
post-thumbnail
\l      - DB Instance
\d      - DB Instance relation
\dt     - DB Instance table relation
\dn     - schema
\du     - user
\s      - history
\g      - 이정 명령어 실행
\timing - 처리 속도 측정
\x      - table format 으로 보여줌

installation

https://www.postgresqltutorial.com/postgresql-getting-started/install-postgresql-linux/

유의 사항


대소문자 구분

PostgreSQL 에서는 기본적으로 대소문자를 구분하지 않기 때문에
대문자를 포함하는 쿼리를 생성할 경우 "" 안에 포함해주어야 한다.

SELECT * FROM "POST"

SELECT * FROM post

특수문자 사용

되도록이면 bloc_post 와 같이 _ 를 사용하여 이름 짓도록한다.

유용한 함수


  • 전체 테이블 사이즈 확인하기

select spcname, pg_size_pretty(pg_tablespace_size(spcname)) from pg_tablespace;

MB, GB같은 단위로 보고싶으면 pg_size_pretty를 사용한다.

select pg_size_pretty(pg_total_relation_size('테이블이름'))

[posgresql table size] https://kugancity.tistory.com/entry/postgresql-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%82%AC%EC%9D%B4%EC%A6%88-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0

CONSTRAINT

PostgreSQL 에는 5가지 제약조건이 존재한다.

NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
CREATE TABLE IF 
	
    a text PRIMARY KEY DEFAULT gen_random_uuid()
	b text NOT NULL CHECK (b in ('a', 'b'))
    
====================================
# UNIQUE

CREATE TABLE 테이블명
 (컬럼명 1 데이터 타입 UNIQUE
 ,컬럼명 2 데이터 타입 
 ,컬럼명 3 데이터 타입,
 ,컬럼명 4 데이터 타입, UNIQUE
 CONSTRAINTS 제약명 UNIQUE (컬럼2, 컬럼3));
 
====================================
# PRIMARY KEY

CREATE TABLE 테이블명
 (컬럼명 1 데이터 타입 PRIMARY KEY
 ,컬럼명 2 데이터 타입 );

 OR

CREATE TABLE 테이블명
 (컬럼명 1 데이터 타입 
 ,컬럼명 2 데이터 타입 
 CONSTRAINTS 기본키 이름 PRIMARY KEY (컬럼1));
 
====================================
# FOREIGN KEY

 CREATE TABLE 테이블명
  (컬럼명 1 데이터 타입 CONSTRAINT 외래키 이름
  REFERENCES 참조테이블명(참조 컬럼)
  ,컬럼명 2 데이터 타입 );

  OR

CREATE TABLE 테이블명
  (컬럼명 1 데이터 타입 
  ,컬럼명 2 데이터 타입 
  CONSTRAINT 외래키 이름 
  FOREIGN KEY (컬럼1)
  REFERENCES 참조테이블명(참조 컬럼));
  
====================================
# CHECK

CREATE TABLE 테이블명
  (컬럼명 1 데이터 타입 
    CONSTRAINTS 제약명 CHECK (조건)
  ,컬럼명 2 데이터 타입);

[psql constraint] https://yeobi27.tistory.com/entry/PostgreSQL-%EC%A0%9C%EC%95%BD%EC%A1%B0%EA%B1%B4-ConstraintNOT-NULL-UNIQUE-PRIMARY-KEY%EA%B8%B0%EB%B3%B8%ED%82%A4-FOREIGN-KEY%EC%99%B8%EB%9E%98%ED%82%A4

profile
개발 기록

0개의 댓글