2. DBMS이야기/01. PostgreSQL 89

[펌] PostgreSQL 9.1 - 동기 복제 : 퀵 스타트

블로그 : 꿈돌이의 꿈꾸는 세상 http://blog.naver.com/hdlee91/150137598864 참조 : http://d.hatena.ne.jp/interdb/20120305/1330896434 sr_sync02.html 보다 상세한 작동 메커니즘과 새로 추가된 함수 도구 설명이있다. sr_sync03.html , 장애 대응에 관한 설명이있다. 설명 자료로 http://lets.postgresql.jp/documents/technical/replication/1 이 자세하다. 개요 동기 복제 의 설정은 매우 간단하다. 비동기 복제 의 차이는 두 매개 변수 의 설정이다. 슬레이브 : primary_conninfo recovery.conf 파일 매개 변수 primary_conninfo에 슬레이브..

PostgreSQL 스키마 개념 및 활용

1.객체 구조 - 전역 객체와 지역 객체로 나눔 전역 객체 - 하나의 DB포트로 운영되는 한 서버를 뜻함 : 데이터베이스 정보, 테이블 스페이스, 그룹 롤, 로그인 롤 - 이들은 각 데이터베이스 단위 지역 객체들에서 공통적으로 사용된다. 즉, 한 테이블의 소유주나 테이블 스페이스를 지정할 때, 이 전역 객체의 값을 사용해야 한다. 달리 표현하면, 데이터베이스 단위로 똑 같 은 이름의 물리적으로 다른 테이블스페이스를 사용할 수 없음을 의미한다. 지역 객체(데이터베이스) - 데이터베이스라는 객체 안에는 그 데이터베이스 단위로 각각 지역 객체들이 있는데, 이것은 스키마라는 객체로 묶여진다.(Catalogs,Extensions,Schemas) 2. 스키마 - PPAS에서 스키마는 DB 소속 객체(DB 접속 계정..

PostgreSQL 사용자 Data Type 정의

사용자 정의 Data Type 생성 테스트 1. 사용자 Type 생성 (함수) CREATE TYPE compfoo AS (f1 int, f2 text); CREATE FUNCTION getfoo() RETURNS SETOF compfoo AS $$ SELECT fooid, fooname FROM foo $$ LANGUAGE SQL; 2. 사용자 Type 생성 (Check) CREATE TYPE bug_status AS ENUM ('new', 'open', 'closed'); CREATE TABLE bug ( id serial, description text, status bug_status ); 3. 사용자 Type 생성 (Check) CREATE TYPE box; CREATE FUNCTION my_bo..

PPAS DB Full 백업 스크립트 작성 및 관리 방법

PPAS DB Full 백업 스크립트 작성 및 관리 방법 -> 1) DB 백업 솔루션이 없을 경우 -> 2) Local Disk에 저장해야 할 경우 * 현재 적용되고 시스템을 예시로 작성 됨 · 사전 확인 필요 사항 1) 백업 받을 수 있는 여유공간이 있는 f/s 영역 확인 -> /data 디렉토리의 사이즈는 현재 12GB이고, /arch_backup 디렉토리의 여유공간은 645GB로 여유공간이 많은 상태 ############################### Size Used Avail Use% Mounted on 788G 103G 645G 14% /arch_backup 197G 12G 176G 7% /data ############################### 2) DB 백업/보관 주기 설정 ..

[Admin] 1.Architecture : Data Cluster

1. Architecture(Data Cluster) : Overview 2. PPAS 엔진영역 ㅇ 엔진 영역 : .../PostgresPlus/9.2AS/, $EDBHOME ① bin : PPAS 운영에 필요하여 제공된 실행 파일 존재 ② connectors : 개발환경 별 필요한 연결 드라이브와 파일 존재 ③ doc : PPAS의 Sub 프로그램과 확장 모듈에 대한 설명서 파일 존재 ④ etc : pgpool 환경 설정 파일과 마이그레이션 도구 runMTK 툴 환경 설정 파일 존재 ⑤ include : C언어 소스 컴파일에 필요한 헤더 파일 존재 ⑥ installer : PPAS 엔진 설치 후 부가 설치 스크립트 파일 존재 ⑦ jre : jvm환경에서 실행되는 프로그램(xdb-replication, ..

[Admin] 1.Architecture : Instance

1. Architecture(Instance) : Overview 2. Instance : Server Process 1) Postermaster(edb-postgres) - Supervisory 데몬 프로세스로서 항상 Running 상태 유지 - Client로 부터의 Connection 요청에 대한 인증 및 허가 수행 (Listener기능) - Connection 요청 시 Postgres Process 할당/기동 (세션 별 Single-threaded Backend 수행, 1:1) - 요청 Call과 Postgres 연결 후 통신에 관여하지 않음 - DBMS 운영에 필요한 프로세스 비정상 종료 시 재 기동 수행 2) Postgres (Server Backend Process) - Hybrid Pipe ..

PostgreSQL 내부 아키텍처에 따른 성능 지연 이슈?

ORACLE과 비교하여 내용을 확인하시면 PostgreSQL의 내부 구조를 좀 더 이해하기 쉬울 겁니다. 1. PostgreSQL Object관리 - Object와 파일이 1:1 구조라 할 수 있어 이해하기 쉬운 구조 - 하나의 디렉토리에 여러개의 파일 I/O가 발생되어 처리지연이 심해질 수 있는 구조 - 따라서 I/O성능이 상용제품에 비해 하드웨어 의존도가 높은 구조임 2. 추기형 아키텍처 채택 - 데이터의 UPDATE/ DELETE 할 때 이전에 데이터를 남겨두고 새로운 데이터를 끝에 추가하는 구조 (참고로 상용제품의 경우 추기형 구조를 채택하고 있는 제품은 없음, ORACLE은 스냅샷형 구조) - 추기형 구조의 단점은 데이터의 변경이 빈번할 경우 File Size가 커져 심각한 성능 저하의 원인이 ..

PostgreSQL (PPAS) PLAN 및 실행계획 보기 [2]

explain analyze를 통한 PLAN 분석 예제 입니다. 해당 명령은 PLAN확인 뿐만 아니라 실제 수행이 동반되므로 주의해야 합니다. 1. 테스트를 위한 테이블은 먼저 생성한 테이블을 기준으로 합니다. create table zz_test001 ( a varchar(5), b varchar(10) ); create table zz_test002 ( c varchar(5), a varchar(5), b varchar(10) ); 2. SQL PLAN 정보 보기 (실행계획 확인) explain analyze select * from zz_test001 a, zz_test002 b where a.a = '00001' and a.a = b.a; 3. SQL PLAN 결과 explain analyze을 ..

PostgreSQL (PPAS) PLAN 및 실행계획 보기 [1]

PostgreSQL (PPAS)에서 SQL의 PLAN (실행계획) 확인 방법중 하나를 소개 합니다. 테스를 위해 아래와 같은 절차로 테스트 진행하였습니다. 1. 테스트를 위한 테이블 생성 create table zz_test001 ( a varchar(5), b varchar(10) ); create table zz_test002 ( c varchar(5), a varchar(5), b varchar(10) ); 2. 테스트를 위한 인덱스 생성 (필요시) create index zz_IDX_001 on zz_test001 ( a ); create index zz_IDX_003 on zz_test001 ( b ); create index zz_IDX_002 on zz_test002 ( a ); 3. SQL..