Centos 安装postgreSQL9.4.3
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
最新文章
- Translucent Bar Android状态栏自定义颜色
- Linux环境变量配置
- Python 命名空间
- hdu 2065
- ociuldr 支持分多个数据文件
- [Javascript] MetaProgramming: function name
- Nhibernate 智能提示 以及其他类库智能提示
- window对象细节(转载)
- WordPress中函数钩子hook的作用及基本用法
- hdu 4533 线段树(问题转化+)
- HDU 5288 OO’s Sequence
- 安装rcssmin方法
- dell win 10笔记本关闭多媒体键,启用功能键的快捷方式
- 【bug-劫持】深信服劫持
- Access、SQLServer、Oracle常见SQL语句应用区别
- day2-作业及答案
- SQL Server 2008 R2升级到SQL Server 2012 SP1
- Codeforces命令行工具
- Android Toolbar返回按钮颜色修改
- AMP+EPP3.0的开发环境配置
热门文章
- Python -- 修改、添加和删除元素
- 华为---MGRE实验--内网为RIP
- 在Linux下面端口映射socat自动脚本
- 【程序包管理】Linux程序包管理之yum源安装
- 麦格理银行借助DataStax Enterprise (DSE) 驱动数字化转型
- 小团队产品研发管理V0.0.1
- 《深入理解 Java 虚拟机》读书笔记
- Idea mybatis maper接口与mapper.xml文件关联 会根据接口中的方法点在mxl中生成相应sql方法
- 【分布式锁的演化】“超卖场景”,MySQL分布式锁篇
- mysql锁类型