postgresql經過skytools實現主從複製

系統環境:centos5.4 64bit
postgresql版本:8.4
psycopg2版本:2.4.1
skytools版本:2.1.12python

1.安裝postgresql
安裝包==>postgresql-8.4.5-1-linux-x64.bin
在主從服務器上各自安裝postgresql
修改*/PostgreSQL/8.4/data/pg_hba.conf文件,將主從服務器ip都設爲trust
從新啓動postgresql
2.更新python-devel
升級包==>python-2.4.3-44.el5.x86_64.rpm、python-libs-2.4.3-44.el5.x86_64.rpm、python-devel-2.4.3-44.el5.i386.rpm、python-devel-2.4.3-44.el5.x86_64.rpm
#rpm -U python-2.4.3-44.el5.x86_64.rpm -i python-libs-2.4.3-44.el5.x86_64.rpm -i python-devel-2.4.3-44.el5.i386.rpm -i python-devel-2.4.3-44.el5.x86_64.rpm
3.更新postgresql-devel至8.4
升級包==>postgresql-libs-8.4.8-1PGDG.rhel5.x86_64.rpm、postgresql-8.4.8-1PGDG.rhel5.x86_64.rpm、postgresql-devel-8.4.8-1PGDG.rhel5.x86_64.rpm
#rpm -i postgresql-libs-8.4.8-1PGDG.rhel5.x86_64.rpm -i postgresql-8.4.8-1PGDG.rhel5.x86_64.rpm -i postgresql-devel-8.4.8-1PGDG.rhel5.x86_64.rpm
4.安裝psycopg2
安裝包==>psycopg2-2.4.1.tar.gz
#tar -zxvf psycopg2-2.4.1.tar.gz
#cd psycopg2-2.4.1
#vi setup.cfg ==>找到# pg_config= 改成 pg_config=數據庫路徑/PostgreSQL/8.4/bin/pg_config
#python setup.py build_ext
#python setup.py install
5.安裝skytools
安裝包==>skytools-2.1.12.tar.gz
#vi ~/.bash_profile
在PATH=$PATH:$HOME/bin行下添加
PATH=$PATH:數據庫路徑/PostgreSQL/8.4/bin
保存後運行source ~/.bash_profilelinux

#tar -zxvf skytools-2.1.12.tar.gz
#cd skytools-2.1.12
#./configure --with-pgconfig=數據庫路徑/PostgreSQL/8.4/bin/pg_config
#make
#make install
#python setup.py install
配置主從:
主服務器配置
進入主數據庫服務器的../skytools-2.1.7/tests/londiste/conf目錄,添加文件ticker_test.ini,文件內容:
 [pgqadm]sql

 job_name = ticker_test數據庫

 db = dbname=數據庫名稱 host=數據庫ip地址 port=數據庫端口 user=postgrescentos

 # how often to run maintenance [minutes]
 maint_delay_min = 60bash

 # how often to check for activity [secs]
 loop_delay = 0.5服務器

 logfile = /usr/local/pgsqllog/log.%(job_name)s
 pidfile = /usr/local/pgsqllog/pid.%(job_name)side

 use_skylog = 0oop

 connection_lifetime = 21post

 queue_refresh_period = 10
安裝ticker
#pgqadm.py ticker_service.ini install
#pgqadm.py ticker_service.ini ticker -d

從服務器配置
進入從數據庫服務器的../skytools-2.1.7/tests/londiste/conf目錄,添加文件replic_test_1.ini,文件內容:
 [londiste]
 job_name = replic_test_1

 provider_db = dbname=數據庫名稱 host=主數據庫ip地址 port=數據庫端口 user=postgres password=數據庫密碼
 subscriber_db = dbname=數據庫名稱 host=從數據庫ip地址 port=數據庫端口 user=postgres password=數據庫密碼

 # it will be used as sql ident so no dots/spaces
 pgq_queue_name = londiste_1_replic

 logfile = /usr/local/pgsqllog/log.%(job_name)s
 pidfile = /usr/local/pgsqllog/pid.%(job_name)s

 loop_delay = 0.5

 connection_lifetime = 30 安裝londiste #londiste.py replic_test_1.ini provider install #londiste.py replic_test_1.ini subscriber install 啓用replay #londiste.py replic_test_1.ini replay -d 添加要複製的表 #londiste.py replic_test_1.ini provider add 須要主從複製的表名(可用*號例如:xw*) #londiste.py replic_test_1.ini subscriber add 須要主從複製的表名(可用*號例如:xw*)

相關文章
相關標籤/搜索