rpm -ivh http://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7.2-x86_64/pgdg-centos94-9.4-3.noarch.rpm

yum install postgresql94-server postgresql94-contrib -y

#首先在/home下创建一个Postgresql的数据目录
mkdir /home/postgresql_data

#然后为这个目录指定所有者同时分配权限
chown postgres:postgres /home/postgresql_data -R

chmod 0700 /home/postgresql_data

#请在root用户和切换至postgres用户,同时设置环境变量
export PATH=/usr/pgsql-9.4/bin:$PATH

export LD_LIBRARY_PATH=/usr/pgsql-9.4/lib

export PGDATA=/home/postgresql_data

#然后source使环境变量生效
source .bash_profile

#然后使用命令initdb生成数据库簇,
initdb

#最后尝试启动Postgresql服务

pg_ctl start -D $PGDATA

#使用 ps -ef | grep postgres 验证,如果有一堆postgres相关进程,那就安装成功了。

如果就到此结束了,貌似第4步就没法做了,因为使用 systemctl start postgresql-9.4 将不会成功的,为啥呢?请打开
vi /usr/lib/systemd/system/postgresql-9.4.service ,因为在#Location of database direcotry配置节里面没有指定正确的PGDATA。所以我们需要将下面的PGDATA设置成正确值

#Location of database directory
Environment=PGDATA=/home/postgresql_data

#设置服务开机自启动
systemctl enable postgresql-9.4.service
systemctl start postgresql-9.4.service(注意:如果已经使用pg_ctl start -D $PGDATA启动数据库,必须先停止数据库运行pg_ctl stop,否则将会由于端口冲突导致数据库服务无法启动)
systemctl status postgresql-9.4.service
------------------------------------------------------------------------------------------

安装数据库同步

在主数据库db1上执行:

mkdir -p /home/postgresql_data/xlog_archive
---------------------------------------------------

vi /home/postgresql_data/postgresql.conf

listen_addresses = '*'
wal_level = hot_standby
synchronous_commit = on
archive_mode = on
archive_command = 'cp %p /home/postgresql_data/xlog_archive/%f'
max_wal_senders=5
wal_keep_segments = 32
hot_standby = on
restart_after_crash = off
restart_after_crash = off

-------------------------------------------------------------
#创建用于数据库同步的用户replica并授予权限
create user replica superuser password 'replica';
--------------------------------------------------------------
vi /home/postgresql_data/pg_hba.conf

local all all trust
host all all 192.168.2.0/24 trust #允许94连接到主服务器
host replication replica 192.168.2.0/24 md5 #允许94使用postpgresql用户来复制

---------------------------------------------------------------
db1上切换postgresql用户执行:

pg_ctl start -D $PGDATA

或者root用户执行:

systemctl restart postgresql-9.4.service
-----------------------------------------------------------

在从数据库db2上执行

#首先在/home下创建一个Postgresql的数据目录
mkdir /home/postgresql_data

#然后为这个目录指定所有者同时分配权限
chown -R postgres:postgres /home/postgresql_data

chmod 7500 /home/postgresql_data

#然后切换用户:

su - postgres

pg_basebackup -h 192.168.2.103 -U postgres -D $PGDATA -X stream -P(提示输入postgres用户密码)
Password:
86664/86664 kB (100%), 1/1 tablespace

-------------------------------------------------------------------------
vi /home/postgresql_data/recovery.conf
standby_mode = on # 说明该节点是从服务器
primary_conninfo = 'host=192.168.2.103 port=5432 user=postgres password=postgres' # 主服务器的信息以及连接的用户
recovery_target_timeline = 'latest'
--------------------------------------------------------------------------
#启动数据库

pg_ctl -D /data/postgresql/data/ start 或 systemctl start postgresql-9.4.service

最新文章

  1. Translucent Bar Android状态栏自定义颜色
  2. Linux环境变量配置
  3. Python 命名空间
  4. hdu 2065
  5. ociuldr 支持分多个数据文件
  6. [Javascript] MetaProgramming: function name
  7. Nhibernate 智能提示 以及其他类库智能提示
  8. window对象细节(转载)
  9. WordPress中函数钩子hook的作用及基本用法
  10. hdu 4533 线段树(问题转化+)
  11. HDU 5288 OO’s Sequence
  12. 安装rcssmin方法
  13. dell win 10笔记本关闭多媒体键,启用功能键的快捷方式
  14. 【bug-劫持】深信服劫持
  15. Access、SQLServer、Oracle常见SQL语句应用区别
  16. day2-作业及答案
  17. SQL Server 2008 R2升级到SQL Server 2012 SP1
  18. Codeforces命令行工具
  19. Android Toolbar返回按钮颜色修改
  20. AMP+EPP3.0的开发环境配置

热门文章

  1. Python -- 修改、添加和删除元素
  2. 华为---MGRE实验--内网为RIP
  3. 在Linux下面端口映射socat自动脚本
  4. 【程序包管理】Linux程序包管理之yum源安装
  5. 麦格理银行借助DataStax Enterprise (DSE) 驱动数字化转型
  6. 小团队产品研发管理V0.0.1
  7. 《深入理解 Java 虚拟机》读书笔记
  8. Idea mybatis maper接口与mapper.xml文件关联 会根据接口中的方法点在mxl中生成相应sql方法
  9. 【分布式锁的演化】“超卖场景”,MySQL分布式锁篇
  10. mysql锁类型