PostgreSQL 에서 uuid_generate_v4() 라는 함수를 호출하여, UUID 를 생성할 수 있는데..
아래와 같은 에러 메세지와 함께, 실패하는 경우가 있다.
ERROR: function uuid_generate_v4() does not exist
PostgreSQL 에서 UUID 는 uuid-ossp 라는 extension (일종의 플러그인) 을 통해서 제공된다.
그래서, 이런 에러 발생시 아래 두가지 조치가 필요하다.
(자세한 내용은 Extensions in Postgres 페이지 참고)
1) extension 에 uuid-ossp 가 있는지 확인
2) uuid-ossp 활성화
관련 쿼리는 아래와 같다.
1-1) 등록된 extension 목록 조회 쿼리
SELECT * FROM pg_extension;
쿼리 결과에 "uuid-ossp" 가 없다. 아래 <1-2) 사용 가능한 extension 목록 조회 쿼리> 를 실행한다.
1-2) 사용 가능한 extension 목록 조회 쿼리
SELECT * FROM pg_available_extensions;
쿼리 결과에 "uuid-ossp" 가 존재하면, 아래 <2) uuid-ossp 활성화 쿼리> 를 실행한다.
(존재하지 않으면, uuid-ossp" 를 다운 받아서, extension 에 설치 해야 한다.)
2) uuid-ossp 활성화 쿼리
CREATE EXTENSION "uuid-ossp";
[참조: Extensions in Postgres]
[참조: PostgreSQL 메뉴얼 - F.40. uuid-ossp 항목]
[참조: uuid-ossp 다운로드 페이지]