centos6.5 編譯安裝pgsql9.4.4 和主從流復制
## postgresql yum 源網站
https://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/repoview/
依賴包
readline readline-devel zlib zlib-devel ncurses-base ncurses-libs ncurses-devel
######### 編譯安裝
# wget https://ftp.postgresql.org/pub/source/v9.4.4/postgresql-9.4.4.tar.gz -P /usr/local/src/
# tar xf postgresql-9.4.4.tar.gz && cd postgresql-9.4.4
# ./configure --prefix=/usr/pgsql-9.4
# make -j 2 && make install ##要求make版本3.8+,使用 make --version檢測make編譯器版本
# ln -sv /usr/pgsql-9.4 /usr/local/pgsql ## 方便以後版本升級
######## 配置環境變量
# vim /etc/profile.d/pgsql.sh
PGHOME=/usr/local/pgsql
PGDATA=/usr/local/pgsql_data
PATH=$PATH:$PGHOME/bin
export PGHOME PGDATA PATH
# source /etc/profile.d/pgsql.sh
# ldconfig /usr/local/pgsql/lib/ ## 導入 pgsql 庫路徑
# cd /usr/local/src/postgresql-9.4.4/contrib/
# make -j 2 && make install ## 安裝三方擴展
######## 添加 pgsql 用戶以及數據存放目錄
# useradd -r postgres
# mkdir /usr/local/pgsql_data
# chown postgres /usr/local/pgsql_data
######## 主庫初始化pgsql
# su - postgres ## pgsql默認不可以使用root用戶
$ pg_ctl -D $PGDATA init ## 初始化db
#### 配置主從流復制
$ cd $PGDATA
$ vim postgresql.conf
listen_addresses = ‘*‘
wal_level = hot_standby
max_wal_senders = 2
log_destination = ‘stderr‘ ## 以下是打開日誌記錄功能
logging_collector = on
log_directory = ‘pg_log‘
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log‘
log_rotation_age = 30d
log_min_messages = error
log_min_error_statement = error
log_min_duration_statement = 1s
log_timezone = ‘Asia/Chongqing‘
$ pg_ctl -D $PGDATA start ## 啟動數據庫
#### 創建流復制賬號
$ psql
postgres=# CREATE ROLE repluser login replication encrypted password ‘repluser‘;
$ vim pg_hba.conf ## 配置復制賬號認證許可
host replication repluser 192.168.5.134/32 md5
$ pg_ctl -D $PGDATA reload ## 重載使配置生效
######## 從庫配置
# su - postgres
$ pg_basebackup -h 192.168.5.129 -U repluser -D $PGDATA -X stream -P -R ## -R 可以自動生成一個 recovery.conf 配置文件,此條命令的作用是從主庫復制一個基礎備份
$ chmod 0700 $PGDATA
$ vim postgresql.conf ## 配置流復制時可以查詢庫
hot_standby = on
$ pg_ctl -D $PGDATA start
######## 檢查流復制進程
$ ps -C postgres -f | grep wal ## 出現此進程說明配置成功
UID PID PPID C STIME TTY TIME CMD
postgres 71424 71418 0 18:50 ? 00:00:00 postgres: wal receiver process streaming 05000A08
########
select * from pg_roles; ## 查詢賬號
#### 賬號密碼修改
postgres=#alter user postgres with password ‘new password‘;
本文出自 “菜鳥” 博客,請務必保留此出處http://1433584.blog.51cto.com/1423584/1954688
centos6.5 編譯安裝pgsql9.4.4 和主從流復制