Skip to content

PostgreSQL:CreateTable

PostgreSQL의 Create Table 구문에 대한 설명.

AUTO INCREMENT and PRIMARY KEY

다음과 같이 serial과, PRIMARY KEY를 사용하면 된다.

id serial PRIMARY KEY,

그럼, postgresql에선 다음과 같이 치환된다.

id bigint NOT NULL DEFAULT nextval('seq_users_id'),
CONSTRAINT users_pkey PRIMARY KEY (id),

자세한 내용은 PostgreSQL:Sequence#AUTO INCREMENT 항목 참조.

Data types

PostgreSQL:DataTypes 항목 참조.

제약조건 (CONSTRAINTS)

여러개의 키를 기본키로 지정

CREATE TABLE EMP (
    EMP_NO CHAR(20) NOT NULL,
    EMP_NAME CHAR(20)     NOT NULL,
    SALARY    NUMBER(4)     NOT NULL,
    JOB   CHAR(10),
    EMAIL    VARCHAR(50),
    PRIMARY KEY(EMP_NO,EMP_NAME )
);

여러개의 키를 UNIQUE 지정

CREATE TABLE table (
    c1 data_type,
    c2 data_type,
    c3 data_type,
    UNIQUE (c2, c3)
);

Example

CREATE SEQUENCE IF NOT EXISTS seq_users_id
    MINVALUE 0
    START 0;

CREATE TABLE IF NOT EXISTS users(
    id bigint NOT NULL DEFAULT nextval('seq_users_id'),
    CONSTRAINT users_pkey PRIMARY KEY (id),
    username VARCHAR(256) UNIQUE NOT NULL,
    password VARCHAR(256) NOT NULL,
    email VARCHAR(256) UNIQUE NOT NULL,
    created_at TIMESTAMP NOT NULL,
    updated_at TIMESTAMP,
    last_login TIMESTAMP
);

osom.run 의 progress table

osom-db#progress table 항목 참조.

See also

Favorite site