참고 : http://slony.info/documentation/1.2/firstdb.html
Ubuntu 10.0.4에서 설치하였기 때문에 PostgreSQL 9.0 미만의 버전에서 사용하는 방법이다.
PostgreSQL 9.0 이상은 Streaming Replication이라는 방법을 지원한다.(http://wiki.postgresql.org/wiki/Streaming_Replication)
계정은 기본 계정인 postgres를 그냥 사용했다.
어차피 계정을 새로 만들어도 slave에서 password 설정을 해줘야 한다. (master에서 연결하기 위해서)
계정의 password 설정하는것을 제외한 모든 작업은 master에서 진행한다.
postgres 계정의 비번 변경 방법.
# sudo su - postgres
# psql template1
# alter user postgres with password '1234';
- Replication에 필요한 프로그램 목록
- postgresql-8.4
- postgresql-8.4-slony1
- slony1-bin
- .bashrc 설정(master, slave 전부 설정)
CLUSTERNAME=slony_example
MASTERDBNAME=test_db
SLAVEDBNAME=test_db
MASTERHOST=192.168.0.71
SLAVEHOST=192.168.0.72
REPLICATIONUSER=postgres
- 재부팅 하지 않고 계속 작업할 경우 export로 환경변수 셋팅을 해준다.
- 만약 서로 다른 PC에서 작업할 경우 host의 ip주소 중 localhost가 입력되면 안된다.
밑의 작업은 master에서 postgres 계정으로 전환한 후 작업한다.
- DB 생성
# createdb -O $REPLICATIONUSER -h $MASTERHOST $MASTERDBNAME
# createdb -O $REPLICATIONUSER -h $SLAVEHOST $SLAVEDBNAME
- Password 설정 (master, slave 전부 설정한다)
- table 생성
# psql -U $REPLICATIONUSER -h $MASTERHOST -c "create table history();"
# psql -U $REPLICATIONUSER -h $MASTERHOST -d $MASTERDBNAME -c "begin; alter table
history add column id serial; update history set id =
nextval('history_id_seq'); alter table history add primary key(id); commit"
- pl/pgSQL
# createlang -h $MASTERHOST plpgsql $MASTERDBNAME
- schema 복제
# pg_dump -s -U $REPLICATIONUSER -h $MASTERHOST $MASTERDBNAME | psql -U $REPLICATIONUSER -h $SLAVEHOST $SLAVEDBNAME
'develop > linux' 카테고리의 다른 글
PostgreSQL Streaming Replication (0) | 2012.08.22 |
---|---|
PostgreSQL replication, Slony 사용 (2) replication 설정 (0) | 2012.08.20 |
sqlite 동시 접근시 에러?? (0) | 2012.08.11 |
spin_lock, spin_lock_irq, spin_lock_bh (0) | 2012.06.28 |
mysql_ping 15분 hang 해결방안 (0) | 2012.06.28 |