Centos7 yum安装postgresql 9.5
添加RPM
yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm
安装PostgreSQL 9.5
yum install postgresql95-server postgresql95-contrib
初始化数据库
/usr/pgsql-9.5/bin/postgresql95-setup initdb
开机启动
systemctl enable postgresql-9.5.service
启动数据库服务
systemctl start postgresql-9.5.service
查询版本
psql --version
修改用户密码
su - postgres
psql -U postgres
ALTER USER postgres WITH PASSWORD '123456'
\q
postgresql9.5主从复制
系统版本 |
主机名 |
IP地址 |
postgresql版本 |
角色 |
centos7.6 |
postgresql-master |
192.168.216.130 |
9.5.18 |
主库 |
centos7.6 |
postgresql-slave |
192.168.216.129 |
9.5.18 |
从库 |
说明:两台服务器都已经提前用yum方式安装好了postgresql 9.5,注意这里从库不需要进行初始化及启动服务,本文档配置的是主从复制,主库可以读写,从库只能读取不能写入数据。
主库配置:
cat >>/var/lib/pgsql/9.5/data/postgresql.conf <<EOF wal_level = hot_standby #(默认是minimal) max_wal_senders=2 #(默认是0) wal_keep_segments=64 #(默认是0) EOF
说明
wal_level表示启动搭建Hot Standby,max_wal_senders则需要设置为一个大于0的数,它表示主库最多可以有多少个并发的standby数据库,而最后一个wal_keep_segments也应当设置为一个尽量大的值,以防止主库生成WAL日志太快,日志还没有来得及传送到standby就被覆盖,但是需要考虑磁盘空间允许,一个WAL日志文件的大小是16M
如上图,一个WAL日志文件是16M,如果wal_keep_segments设置为64,也就是说将为standby库保留64个WAL日志文件,那么就会占用16*64=1GB的磁盘空间,所以需要综合考虑,在磁盘空间允许的情况下设置大一些,就会减少standby重新搭建的风险。接下来还需要在主库创建一个超级用户来专门负责让standby连接去拖WAL日志
创建同步用户
postgres=# create user rep1 superuser password '123456';
修改配置文件,允许从库服务器连接主库去拖WAL日志数据
vim /var/lib/pgsql/9.5/data/pg_hba.conf host replication rep1 192.168.216.0/24 md5
这里需要配置监听地址,因为默认监听本地
vi /var/lib/pgsql/9.5/data/postgresql.conf
listen_addresses = '192.168.216.130'
重启服务
systemctl restart postgresql-9.5.service
从库配置:
执行以下命令,从主库备份数据
/usr/pgsql-9.5/bin/pg_basebackup -h 192.168.216.130 -U rep1 -F p -x -P -R -D /var/lib/pgsql/9.5/data/ -l rep_backup
备份过程实际上就是从主库的data目录里物理拷贝数据的过程。
参数说明
-F 指定了输出的格式,支持p(原样输出)或者t(tar格式输出)。
-x 表示备份开始后,启动另一个流复制连接从主库接收WAL日志。
-p 表示允许在备份的过程中实时的打印备份的进度。
-R 表示会在备份结束后自动生成recovery.conf文件,这样就避免了手动创建。
-D 指定把备份写到哪个目录,注意:在做基础备份之前从库的数据目录需要手动清空。
-l 表示指定一个备份的标识。
由于拷贝过来的文件属主是root这里需要更改属主和组
chown -R postgres.postgres /var/lib/pgsql/9.5/data/
修改从库的配置文件
vim /var/lib/pgsql/9.5/data/postgresql.conf 247 #hot_standby = off # "on" allows queries during recovery 248 hot_standby = on #添加此行
注意这里59行监听地址需要进行注释,由于拷贝主库的/data下的所有文件,因此这里需要修改
启动从库
systemctl start postgresql-9.5.service
测试:
从库写入测试:
在主库上创建一个test表,同时在从库上进行查询
在从库上进行查询:如下图所示
安装可参考:https://blog.51cto.com/wn2100/2239518
Centos7 yum安装postgresql 9.5的更多相关文章
- Centos7下安装postgresql(tar包形式安装)
Centos7下安装postgresql(tar包形式安装) 1.官网下载地址: https://www.postgresql.org/ftp/source/ 2.将下载来tar包上传到linux服务 ...
- CentOS7 yum 安装git
1.查看系统是否已经安装git git --version 2.CentOS7 yum 安装git yum install -y git 3.安装成功 4.卸载git yum remove git
- [转帖]Centos7 yum安装Chrome浏览器
Centos7 yum安装Chrome浏览器 https://www.cnblogs.com/ianduin/p/8727333.html以及https://blog.csdn.net/libaine ...
- centos7 yum安装配置redis 并设置密码
原文:https://www.cnblogs.com/fanlinglong/p/6635828.html centos7 yum安装配置redis 并设置密码 1.设置Redis的仓库地址 yum ...
- centos7 yum安装遇到报错:Head V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEYer
centos7 yum安装时遇到错误:Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY 无法安装时,可按如下方法解决: This mini ...
- centos7 yum安装MongoDB
centos7 yum安装MongoDB 原文博客地址http://xgs888.top/post/view?id=64 centos7 yum安装mongodb: 1:创建仓库 vi /etc/ ...
- CentOS7 yum 安装 Nginx最新版本
CentOS7 yum 安装 Nginx最新版本 下载对应当前系统版本的nginx包(package) # wget http://nginx.org/packages/centos/7/noarc ...
- CentOS6 CentOS7 yum安装图形界面
CentOS6 yum安装图形界面yum groupinstall -y "Desktop" "Desktop Platform" "Desktop ...
- centos7 yum 安装lnmp
centos7 yum 安装lnmp 安装7.2把7.1改成7.2就行 使用第三方扩展epel源安装php7.2 #移除旧版php [root@web02 ~]# yum remove php-m ...
随机推荐
- 【记录】【java】JDK8新特性Stream方式遍历集合
由于是以流方式,所以怎么操作也不改变原来的集合 1.普通遍历forEach List<String> list = new ArrayList(); list.add("a&qu ...
- css3网站响应式写法
css3响应式写法因为media不支持ie9以下的浏览器 所有要加个判断<pre> <!-- 全部通用的 --><link rel="stylesheet&qu ...
- springboot结合日志门面SLF4j和日志实现Logback的使用
一.此处主要介绍在springboot工程下如何使用 logback + slf4j 进行日志记录. logback主要包含三个组成部分:Loggers(日志记录器).Appenders(输出目的在 ...
- Navicat Premium 12 安装与破解,Navicat Premium通用的数据库管理工具
本文转自:https://blog.csdn.net/WYpersist/article/details/86530973 Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同 ...
- 4.将验证添加到 ASP.NET Core Razor 页面
向 Movie 模型添加了验证逻辑. 每当用户创建或编辑电影时,都会强制执行验证规则. 1.打开Movie.cs文件.DataAnnotations命名空间提供了一组内置的验证属性,这些属性以声明方式 ...
- left join 左边有数据,右边无数据
参考了链接: https://blog.csdn.net/chenjianandiyi/article/details/52402011 主要是and和where的区别: 原Sql: Con ...
- 局域网电脑禁止ping通的解决方法
方法1:命令行模式进入服务器后 点击 开始——运行 输入命令:netsh firewall set icmpsetting 8这样就可以在外部ping到服务器了 非常简单实用!同样道理,如果想禁止Pi ...
- js实现输入密码之延迟星号和点击按钮显示或隐藏
缘由 手机打开segmentfalut时,长时间不登陆了,提示要重新登陆,输入的过程中看到输入密码时,延迟后再变成密文,很好奇,所以捣鼓了一下.本文实现了两种密码展示 代码实现 1 先明后密 js实现 ...
- iOS - FlexBox 布局之 YogaKit
由于刚开始的项目主要用的H5.javaScript技术为主原生开发为辅的手段开发的项目,UI主要是还是H5,如今翻原生.为了方便同时维护两端.才找到这个很不错的库. FlexBox?听起来像是一门H5 ...
- js数组【续】(相关方法)
一.数组的栈,队列方法[调用这些方法原数组会发生改变]var arr = [2,3,4,5,6];1.栈 LIFO (Last-In-First-Out)a.push() 可接受任意类型的参数,将它们 ...