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';





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章