PostgreSQL Extension(확장 모듈) 설치하기 : UUID
이번 postgres을 사용하다가 해당 쿼리문을 사용할수 없어서 확인하다가 확장 모듈이 필요하다는 것을 알고 기록을 위해 블로그로 작성하였습니다.
테이블을 생성하는 도중 column의 데이터 타입을 uuid_generate_v4()로 설정을 하고 테이블을 생성할려고 할때 아래 사진과 같이 에러가 발생했습니다.
![]() |
사진1) 에러 상황 |
위 에러가 발생하면 가장 먼저 해당 extension이 사용 가능하지 확인을 해야 합니다.
psql에서 설치 가능한 extension을 확인한다.
$ SELECT * FROM pg_available_extensions;
![]() |
사진2) 설치 가능한 extension |
사진2에서 가장 마지막에 있는 'uuid-ossp'이 있습니다. 이 확장 모듈이 uuid생성을 도와줍니다. 이제 'uuid-ossp'를 설치해 보도록 하겠습니다.
psql에서 extension가 존재하지 않을때 설치.
$ CREATE EXTENSION IF NOT EXISTS "extension name";
위 블로그에서는 uuid를 생성할수 있어야 하기 때문에 'uuid-ossp'를 설치하도록 하겠습니다. 해당 sql문은 CREATE EXTENSION IF NOT EXISTS "uuid-ossp" 으로 실행하면 됩니다.
![]() |
사진3) "uuis-ossp" 설치 |
![]() |
사진4) 생성 완료 |
원하던 쿼리문이 정상적으로 실행 된것을 확인할수 있었습니다.
아래는 실행한 해당 쿼리문 입니다
CREATE TABLE users (
id UUID NOT NULL DEFAULT uuid_generate_v4(),
email VARCHAR NOT NULL,
password VARCHAR NOT NULL,
username VARCHAR NOT NULL,
socialSignUP Boolean NOT NULL DEFAULT false,
socialPlatform VARCHAR,
PRIMARY KEY (id)
);
CREATE TABLE board(
id UUID NOT NULL DEFAULT uuid_generate_v4() PRIMARY KEY,
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
name VARCHAR NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
CREATE TABLE comment(
id UUID NOT NULL DEFAULT uuid_generate_v4() PRIMARY KEY,
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
board_id UUID NOT NULL REFERENCES board(id) ON DELETE CASCADE,
content VARCHAR NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
)
댓글
댓글 쓰기