[object 계층]
1. template databases
1) template1 : Database 생성시 참조되는 기본 database
2) template0 : template1이 문제 생겼을때 fix용도이거나 dump 복구하는 용으로 사용
2. databases : 사용자 데이터베이스
3. Roles
1) superuser : superuser role는 login를 제외하고 모든 퍼미션을 bypass 함
2) login : 데이터베이스에 접속하기 위해 client 사용
3) createdb : 데이터베이스를 생성
4) ceaterole : role를 생성/수정/삭제/변경
5) replication : replication 사용
6) password : 패스워드 설정 (사용기간, 암호 알고리즘등)
7) connection limit : connection 개수를 설정
8) inherit : roles에 할당한 권한들을 상속
9) bypassrls: row-level-security 를 bypass
4. Tablespaces : 데이터베이스 또는 데이터베이스 object에 저장위치를 지정
5. Settings : PostgreSQL server에 replication, write-ahead logs, resource consumption, query planning, logging,
authentication, statistic collection, garbage collection, client connection, lock management 등 제어
[object간 연관관계]
[스키마]
SELECT * FROM pg_catalog.pg_database;
1) table 종류
- Permanent table
- Temporary table
- Unlogged table : not written into the wal files
- Child table
2) Data types
- smallint (2bytes) : -32,768 ~ + 32,767
- int (4bytes) : - 2147483648 ~ + 2147483647
- bigint (8bytes) : -9223372036854775808 ~ +9223372036854775807
- numeric/decimal (variable) : up to 131072 (정수), up to 16383 (소수)
- real (4bytes) : 1e-37 ~ 1e+37
- double precision (8 bytes) : 1e-307 ~ 1e+308
- char : 1
- name : 64
- char(n) : 1 ~ 10485760 (10 * 1024 * 1024)
- varchar(n) : 1 ~ 10485760 like text with check constraint. (text에 check를 사용)
- text : unlimited
- timestamp without time zone (8bytes) : timestamp 동일
- timestamp with time zone (8bytes) : timestamptz 동일
- date (4bytes) : date only
- time without time zone (8bytes) : time of day
- time with time zone (12bytes) : times of day only, with time zone
- interval (16bytes) : time interval
3) example
- 테이블
create table test (
id int primary key generated by default as identity,
name text not null,
email text not null unique,
password text not null,
check (name !~ '\s'),
check (email ~* '^\w+@\w+[.]\w+$'),
check (char_length(password) >= 8)
);
- view
create view test.test_view select id, name, email from test.test;
'RDB > PostreSQL' 카테고리의 다른 글
PostgreSQL 보안 (0) | 2016.03.22 |
---|---|
postgresql index (0) | 2016.03.17 |
postgresql replication (0) | 2015.12.14 |
postgresql bench test 및 data dump (0) | 2015.12.09 |
postgresql 모니터링 (0) | 2015.12.08 |