상세 컨텐츠

본문 제목

[PostgreSQL]UUID

개발

by monad 2021. 5. 11. 10:14

본문

테이블의 컬럼에 UUID용 컬럼을 생성하여 PK 역할 또는 단순히 구분하기 위한 구분자로 사용하기

 

환경: PostgreSQL 10.15, compiled by Visual C++ build 1800, 64-bit 

select version();으로 확인할 수 있습니다.

 

1. Extension을 설치

   쿼리: CREATE EXTECREATE EXTENSION "uuid-ossp";

   

Extension 설치 결과

2. UUID가 생성되는 지 확인

  쿼리: select uuid_generate_v4();

  결과: 95d03f33-ce2b-4c36-9fe5-2a6d050f49ae

 

3. 테이블에 적용

cantact_id라는 컬럼의 데이터 타입은 uuid 이고 디폴트는 uuid_generate_v4()이다.

또한 contact_id는 프라이머리 키의 역할을 한다.

CREATE TABLE contacts (
    contact_id uuid DEFAULT uuid_generate_v4 (),
    first_name VARCHAR NOT NULL,
    last_name VARCHAR NOT NULL,
    email VARCHAR NOT NULL,
    phone VARCHAR,
    PRIMARY KEY (contact_id)
);

www.postgresqltutorial.com/postgresql-uuid/

상기 URL에 테이블의 생성 및 데이터 인서트에 관련된 예제가 있다.

 

 

참고) MSSQL의 NEWID()와 같은 역할을 합니다.

docs.microsoft.com/ko-kr/sql/t-sql/functions/newid-transact-sql?view=sql-server-ver15

-- Creating a table using NEWID for uniqueidentifier data type.  
CREATE TABLE cust  
(  
 CustomerID uniqueidentifier NOT NULL  
   DEFAULT newid(),  
 Company VARCHAR(30) NOT NULL,  
 ContactName VARCHAR(60) NOT NULL,   
 Address VARCHAR(30) NOT NULL,   
 City VARCHAR(30) NOT NULL,  
 StateProvince VARCHAR(10) NULL,  
 PostalCode VARCHAR(10) NOT NULL,   
 CountryRegion VARCHAR(20) NOT NULL,   
 Telephone VARCHAR(15) NOT NULL,  
 Fax VARCHAR(15) NULL  
);  
GO 

참고) UUID에 관련한 문서

www.postgresql.org/docs/9.4/uuid-ossp.html

uuid_generate_v4(): This function generates a version 4 UUID, which is derived entirely from random numbers.

관련글 더보기

댓글 영역