반응형
/*
-- 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; |
반응형