728x90
반응형

PostgreSQL 에서 컬럼을 설정할 때 기본값(default) 에 대해서 정리해보려고 한다.

 

기본값 (default) 이란

PostgreSQL 에서 컬럼의 Default 는 해당 컬럼에 데이터를 삽입할 때 명시적으로 값을 제공하지 않을 때 사용되는 기본값을 정의하는데 사용된다. 쉽게 말해서 어떠한 동작을 하지 않을 때 기본적으로 Default 에 명시된 값이 들어간다는 말이다.

 

예를 들어 Default 는 다음과 같이 설정할 수 있다.

CREATE TABLE test_table (
    id serial PRIMARY KEY,
    name VARCHAR(255) DEFAULT '아무개'
);

name 에 아무런 값을 등록하지 않으면 '아무개' 라는 값이 들어가게 된다.

 

그리고 Default 는 다음과 같이 수정하고 제거할 수 있다.

-- default 수정
ALTER TABLE test_table
ALTER COLUMN name SET DEFAULT '제이로그';
-- default 삭제
ALTER TABLE test_table
ALTER COLUMN name DROP DEFAULT;

 

또한 시퀀스와 함께 사용된다고 한다.
잠깐 시퀀스에 대해서 간단하게 설명하자면 일련의 숫자를 자동으로 생성하는 객체를 말하는데 주료 고유한 인덱스와 같은 값을 생성할 때 주로 사용한다. 따라서 기본키를 생성할 때 주로 사용하고 자동으로 고유한 값을 할당할 때 시리얼 데이터 타입과 함께 사용한다고 한다.

 

다음과 같이 시퀀스와 연결되어 자동으로 증가하는 인덱스 값을 설정한다.

CREATE TABLE test_table (
    id serial PRIMARY KEY,
    name VARCHAR(255)
);

 

그리고 id 값을 제외한 name 값만 insert 한다.

INSERT INTO test_table (name) VALUES ('Jay'); -- id는 자동으로 생성됨

그럼 자동으로 id 값이 시퀀스에서 자동으로 생성되는 다음 값을 사용해 입력하게 된다.
이렇게 시퀀스와 Default 가 같이 사용된다는 말은 시퀀스를 Default 값으로 사용해 자동으로 id 값을 증가시켜주기 때문이다.

 

이렇게 Default 는 데이터 무결성과 기본값 제공의 측면에서 유용하게 사용할 수 있고 데이터 삽입 및 업데이트 작업을 단순화하는데 많은 도움을 줄 수 있다.

728x90
반응형
복사했습니다!