반응형

/*
-- Title : [PGS9.2] Postgresql Database 세팅 탬플릿
-- Reference : 디비랑
-- Tag : 데이터베이스 세팅

*/


1. 서버 기동

root# su - postgres
postgres$ pg_ctl start
postgres$ pg_ctl status
postgres$ pg_ctl stop [-m fast]
postgres$ pg_ctl restart

• service를 등록하지 않고 postgres계정에서 pg_ctl을 이용.

 

2. Superuser 생성(설치 시 했음)

postgres$ psql
postgres=# create role pgsys login password ‘p@ssw0rd’ supersuer;
 
postgres=# \c tttdb pgsys
You are now connected to database "tttdb" as user "pgtest".
postgres=#

• 내부 superuser 계정 사용

• 대부분 개체에 대한 owner로 superuser를 사용

 

3. 기본 사용자 Databases 구조 정의

postgres 홈디렉토리
$ /home/postgres

PostgreSQL 설치디렉토리
$ /home/postgres/pgsql

PGDATA 디렉토리
$ /home/postgres/pgsql/data

사용자 Databases 디렉토리
- 서버 스토리지 환경에 맞게 상위 디렉토리 결정(?로 대체)
- 첫문자는 대문자 및 복수형인 “Databases” 사용
$ ?/Databases

사용자 Tablespace 디렉토리
- ?/Databases 밑에 정의
$ ?/Databases/tttdb
$ ?/Databases/KR_Trade
$ ?/Databases/Madrid

▶ WAL 아카이브 디렉토리
- ?/Databases 밑에 정의
- 대문자 “ARCHIVE” 사용
$ ?/Databases/ARCHIVE

 

root# mkdir /Databases
root# mkdir /Databases/KR_Trade
root# mkdir /Databases/ARCHIVE
 
root# chown –R postgres.postgres /ttt
 
root# ls –l /Databases
drwxr-xr-x. 2 postgres postgres 4096 2014-02-27 09:58 KR_Tradedrwxr-xr-x. 2 postgres postgres 4096 2014-02-27 09:58 ARCHIVE

 


4. WAL 아카이브 설정

-- 아카이브 설정 확인
postgres=# select name, setting
from pg_settings
where name in ('archive_mode', 'archive_command', 'archive_timeout', 'wal_level');
 
-- 아카이브 설정
postgres$ vi /home/postgres/pgsql/data/postgresql.conf
         ...
         wal_level = archive
         archive_mode = on
         archive_timeout = 1
         archive_command = ‘cp %p /Databases/ARCHIVE/%f’
 
-- 서버 재시작
postgres$ pg_ctl restart
 
-- 로그 스위칭 테스트
postgres=# select pg_current_xlog_location();
postgres=# select pg_switch_xlog();
postgres=# select pg_current_xlog_location();

 

5. 테이블스페이스 생성

-- 테이블스페이스 저장 디렉토리 생성
root# mkdir /Databases/MADRID
 
root# chown –R postgres.postgres /Databases/MADRID
 
-- 테이블스페이스 생성
postgres=# create tablespace ts_data1
           owner pgsys
           location ‘/Databases/MADRID’;
 
-- 테이블스페이스 확인
postgres=# select * from pg_tablespace;

 

6. 테이블의 테이블스페이스 지정

postgres=# create table ttt
           ( skey bigint not null
           , appl_num varchar(20) not null
           , etc varchar(100) null
           ) tablespace ts_data1;

디비랑_PostgreSQL Database 세팅 템플릿.docx
0.02MB

 

 

반응형

+ Recent posts