使用的postgres版本为 postgresql-9.3.6.tar.gz 版本
一、使用两台物理主机 操作系统为redhat6.5
二、
在主服务器和从服务器分别创建postgres用户,并在用户目录下编译安装,安装过程中提示缺少的依赖包,通过yum安装
一、使用两台物理主机 操作系统为redhat6.5
点击(此处)折叠或打开
- [postgres@v136 ~]$ lsb_release -a
- LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
- Distributor ID: RedHatEnterpriseServer
- Description: Red Hat Enterprise Linux Server release 6.5 (Santiago)
- Release: 6.5
- Codename: Santiago
点击(此处)折叠或打开
- [postgres@v136 ~]$tar -zxvf postgresql-9.3.6.tar.gz
- [postgres@v136 ~]$mkdir pgsql/
- [postgres@v136 ~]$cd postgresql-9.3.6/
- [postgres@v136 ~]$./configure --prefix=/home/postgres/pgsql
- [postgres@v136 ~]$ make && make install
三、 安装完
成后,在主服务器目录下初始化主数据库并启动
点击(此处)折叠或打开
- [postgres@v136 ~]$mkdir -p /home/postgres/pgsql/data/
- [postgres@v136 ~]$./initdb -D /home/postgres/pgsql/data/ -E UTF8 --locale=C -U postgres -W
-
四、修改postgresql.conf和pg_hba.conf ,内容如下
五、启动主服务器数据库
六、检查主数据库是否成功
七、设置主库为pg_start_backup(''),并把初始化完成的主库data目录,复制到从数据库的相同目录下,这步骤是关键
八、设置从数据库配置 postgresql.conf和recovery.conf,并删除 postmaster.pid文件
九、启动从数据库,并停止主数据库的backup状态
十一、登录并验证主从数据库同步情况,分别创建tt表并主从都正常,完成host standby配置。
点击(此处)折叠或打开
- vi postgresql.conf 如下:
- work_mem = 2GB
- maintenance_work_mem = 2GB
- max_files_per_process = 2000
- effective_cache_size = 1GB
- wal_level = hot_standby
- archive_mode = on
- archive_command = 'cp -i %p ../archivedir/%f < /dev/null'
- max_wal_senders = 2
- wal_keep_segments = 32
- synchronous_standby_names = '*'
-
点击(此处)折叠或打开
- vi pg_hba.conf
- host replication postgres 0.0.0.0/0 trust
- host all all 0.0.0.0/0 trust
点击(此处)折叠或打开
- [postgres@v136 ~]$./pg_ctl -D /home/postgres/pgsql/data/ -l logfile start
六、检查主数据库是否成功
点击(此处)折叠或打开
- [postgres@v126 bin]$ ./psql
psql (9.3.6)
Type "help" for help.
postgres=# select version();
version
--------------------------------------------------------------------------------------------------------------
PostgreSQL 9.3.6 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit
(1 row)
七、设置主库为pg_start_backup(''),并把初始化完成的主库data目录,复制到从数据库的相同目录下,这步骤是关键
点击(此处)折叠或打开
- postgres=# select pg_start_backup('');
- 这行select pg_start_bakcup('')命令后所有请求不在写磁盘。直到执行pg_stop_bakcup('')结束。
八、设置从数据库配置 postgresql.conf和recovery.conf,并删除 postmaster.pid文件
点击(此处)折叠或打开
- 修改postgresql.conf 如下
- work_mem = 2GB
maintenance_work_mem = 2GB
max_files_per_process = 2000
effective_cache_size = 1GB - wal_level = hot_standby
hot_standby = on
点击(此处)折叠或打开
- 修改recovery.conf
- standby_mode = on
primary_conninfo = 'host=10.7.0.126 port=5432 user=postgres'
九、启动从数据库,并停止主数据库的backup状态
点击(此处)折叠或打开
- [postgres@v136 ~]$./pg_ctl -D /home/postgres/pgsql/data/ -l logfile start
- 在主数据库上另外开一个终端并执行如下命令,管理两个主数据库mingl
- [postgres@v135 ~]$./psql -d postgres
- postgres=#select pg_stop_backup();
-
- 两个终端窗口分别收到如下,表示结束基础备份
- postgres=# select pg_start_backup('');
pg_start_backup
-----------------
0/A000028
(1 row) - postgres=# select pg_stop_backup('');
pg_stop_backup
-----------------
0/A0000F0
(1 row) -
十一、登录并验证主从数据库同步情况,分别创建tt表并主从都正常,完成host standby配置。
点击(此处)折叠或打开
-
postgres=# \dt
List of relations
Schema | Name | Type | Owner
--------+--------------+-------+----------
public | dd | table | postgres
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27039319/viewspace-2079167/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27039319/viewspace-2079167/