User 생성 -> DB생성 -> Tablespace 생성 및 오너적용 -> 스키마 생성 및 적용?
이런식으로 전부 다 적용해 주시나요?
오라클티베로 밖에 안해봐서.. 아직 스키마/DB도 헷갈리고
아키텍쳐를 보고 공부해도 너무 어렵습니다.ㅜ
모델광2023-09-02 (토) 09:57
- 스키마는 table, view, sequence, function, index 등의 논리적인 집합입니다.
따라서 database 보다는 하위 개념입니다. (하나의 DB에 여러 개의 schema가 있을 수 있음)
- 처음 PostgreSQL 설치 후 테이블 생성 전 작업 순서
1. user 생성
drop user analuser;
CREATE USER analuser password 'ANALUSER' createdb replication login;
2. tablespace 생성
linux인 경우 디렉토리 owner여야 함
CREATE TABLESPACE ANAL_TS1 owner analuser LOCATION 'C:\Program Files\PostgreSQL\12\data';
ALTER USER analuser SET default_tablespace = 'ANAL_TS1'; -- analuser 는 테이블 owner임
--일반테이블스페이스와 다른 디스크에 temporary tablespace 생성(별도 디스크 없으면 생성할 필요 없음)
create tablespace temp_tblspc location '/var/lib/pgsql/12/data/temp_tblspc';
--postgresql.conf 파일에 temp_tablespaces 값 입력
3. database 생성
CREATE DATABASE analdb
WITH
OWNER = analuser
LC_COLLATE 'C' --collation 설정 (default는 libc)
TABLESPACE = 'anal_ts1'
TEMPLATE template0
CONNECTION LIMIT = -1;
4. schema 생성
CREATE SCHEMA scott AUTHORIZATION analuser;
ALTER ROLE analuser SET search_path = 'scott';
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA scott TO analuser;