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()

)




























댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)