Microsoft 社는 2022년 6월 15일 Internet Explorer 11의 지원을 종료했습니다.

PostgreSQL 스키마(SCHEMA) 사용법

제목

PostgreSQL 스키마(SCHEMA) 사용법

개인적으로 PostgreSQL에서 스키마(SCHEMA)의 사용을 적극 추천하는 편이다.

업무별로 스키마(SCHEMA)를 달리하면 유지관리 측면에서 장점이 있다.

누구도 운영중인 시스템에서 업무별로 스키마(SCHEMA)를 새로 만들고 각각의 테이블들을 변경하는 시도를 하지는 않을 것이다.

그렇다고 하더라도 개발서버이든 Production 이든 작업용 테이블이나 더이상 사용하지 않는 테이블들은 새로 만든 스키마(SCHEMA)로 옮겨 놓으면 나중에 좋다.

1. 스키마(SCHEMA) 만들기

CREATE SCHEMA schema_name;

2. 스키마(SCHEMA) 이름 변경하기

ALTER SCHEMA schema_name
RENAME TO new_schema_name;

3. 테이블(Table)과 시퀀스(SEQUENCE) 만들 때 스키마(SCHEMA) 지정하기

CREATE SEQUENCE schema_name."sequence_name";
create table schema_name.table_name (
pk_column_name integer NOT NULL DEFAULT nextval('schema_name.sequence_name'::regclass),
);

실용적인 예제는 메모장 프로그램의 ddl_table_postgresql.sql 을 참조한다.

4. 테이블(Table)의 스키마(SCHEMA) 변경하기

테이블(Table)과 테이블(Table)에서 사용하는 시퀀스(SEQUENCE), 그리고 테이블(Table)의 Primary Key 에 시퀀스(SEQUENCE)가 기본값으로 되어 있다면 그것도 변경해야 한다.

ALTER TABLE table_name SET SCHEMA new_schema_name;
alter SEQUENCE "sequence_name" SET SCHEMA new_schema_name;
alter table table_name alter column column_name set default nextval('new_schema_name.sequence_name'::regclass);

실용적인 예제는 메모장 프로그램의 change_schema.sql 을 참조한다.

5. psql 에서

스키마(SCHEMA) 목록을 확인한다.

\dn

search_path 를 확인한다.

show search_path;

search_path 를 변경한다.

set search_path to public, schema1, schema2;

데이타베이스의 기본 search_path 변경한다.

ALTER DATABASE database_name SET search_path TO public, schema1, schema2;

사용자의 기본 search_path 변경한다.

ALTER ROLE login_name SET search_path TO public, schema1, schema2;

사용자+데이타베이스의 기본 search_path 변경한다.

ALTER ROLE login_name IN DATABASE database_name SET search_path TO public, schema1, schema2;
제목

첨부파일