테이블의 컬럼에 UUID용 컬럼을 생성하여 PK 역할 또는 단순히 구분하기 위한 구분자로 사용하기
환경: PostgreSQL 10.15, compiled by Visual C++ build 1800, 64-bit
select version();으로 확인할 수 있습니다.
1. Extension을 설치
쿼리: CREATE EXTECREATE EXTENSION "uuid-ossp";
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.
[PostgreSQL] Adventureworks 샘플 데이터 베이스 (1) | 2021.06.22 |
---|---|
[PostgreSQL] postgres 비밀번호 초기화 (0) | 2021.06.15 |
[windows 10]무선 접속 비밀번호 확인 (0) | 2021.04.15 |
[터치패널] 라즈베리파이 XPT2046 (5inch) (0) | 2021.04.08 |
[RaspberryPi] VNC 서버 설정 및 원격 접속 (0) | 2021.03.30 |
댓글 영역