前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次升级支持了更多更新的内容,比如,PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析:从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库和…
1 总体规划   Master库 Slave库 操作系统 CentOS Linux release 7.5.1804 CentOS Linux release 7.5.1804 处理器 1 1 内存 4G 4G 硬盘 38G 38G 主机名称 SHSNC-DB01 SHSNC-DB02 IP地址 192.168.1.61 192.168.1.62 具体安装步骤,可以查看<PostgreSQL数据库的安装>,不在本文的介绍范围内. 2 PostgreSQL主从异步流复制搭建 2.1 参数检查 检…
一.配置环境: 示例环境 主机名 IP 角色 系统版本 数据目录 pg版本 db1 192.168.128.128 主库 RedHat5.3 /app/postgreSQL/data 9.1.7 db2 192.168.129.129 备库 RedHat5.3 /app/postgreSQL/data 9.1.7 二.postgresql安装(略) 主库完全安装 .备库安装只需要到make install即可   不需要initdb. 三.主库配置(在192.168.128.128操作配置) 1…
(1)用户实用程序: createdb 创建一个新的PostgreSQL的数据库(和SQL语句:CREATE DATABASE 相同) createuser 创建一个新的PostgreSQL的用户(和SQL语句:CREATE USER 相同) dropdb 删除数据库 dropuser 删除用户 pg_dump 将PostgreSQL数据库导出到一个脚本文件 pg_dumpall 将所有的PostgreSQL数据库导出到一个脚本文件 pg_restore 从一个由pg_dump或pg_dumpa…
一.系统环境 操作系统:Windows Server 2003/2008 两个节点分别为master与slave. 主节点master:172.27.19.28 备机点slave:172.27.19.31 PostgreSQL Plus Advanced Server:9.2.1.3 二.安装EnterpriseDB 安装EnterpriseDB时,请将master节点和slave节点设置为相同的密码! 在Windows中安装PPAS需要注意一点:不要将PPAS安装在带有空格的目录中,例如默认安…
先说说环境,主从库版本都是9.5,主库在CentOS物理机上,从库在Ubuntu虚拟机上 一.主库上的操作: 1.添加同步访问规则: host   replication     dbuser          192.168.1.26/16         md5 说明一下,上面的replication这个字符串不能改 2.postgresql.conf修改: listen_addresses = '*' max_wal_senders = 5 wal_level = hotstandby w…
primary:10.189.102.118 standby:10.189.100.195 1. 配置ssh互信机制 在primary主库执行 $ ssh-keygen -t rsa $ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys $ ssh-copy-id postgres@10.189.100.195 在standby备库执行 $ ssh-keygen -t rsa $ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_…
原文出处 http://mysql.taobao.org/monthly/2015/10/04/ PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record.而PostgreSQL9.0之前提供的方法是主库写完一个WAL日志文件后,才把WAL日志文件传送到备库,这样的方式导致主备延迟特别大.同时PostgreSQL9.0之后提供了Hot Standby,备库在应用…
转自:https://www.percona.com/blog/2018/10/19/postgresql-building-enterprise-grade-setup-with-open-source/ Hello everyone, and thank you to those that attended our webinar on Building an Enterprise-grade PostgreSQL setup using open source tools last Wed…
原理机制 参考--https://yq.aliyun.com/articles/51009 主备总体结构 PG主备流复制的核心部分由walsender,walreceiver和startup三个进程组成. walsender进程是用来发送WAL日志记录的 walreceiver进程是用来接收WAL日志记录的 startup进程是用来apply日志的 配置环境 主机名 IP地址 角色 数据目录 postgres202 192.168.1.202 primary /home/postgres/dat…
没有正常启动 postgresql service.可以 在运行里面 输入 services.msc 找到 postgresql 的服务.启动他.或者也可以用postgres 自带的 工具pg_ctl来注册D:\pgsql>bin\pg_ctl register -N PostgreSQL -D “D:\pgsql\data”启动PostgreSQL服务D:\pgsql> sc start PostgreSQL…
基本环境说明: os:FreeBSD 9.3 postgresql version: master:192.168.56.101 standby:192.168.56.102 安装过程略,基于pkg包 1.配置master端 # psql -U pgsql -d postgres -c "CREATE USER rep REPLICATION LOGIN ENCRYPTED PASSWORD 'password';" # cd /usr/local/pgsql # vim data/p…
转自:http://my.oschina.net/Kenyon/blog/152234PostgreSQL 9.2.4 主机:192.25.10.76 从机:192.25.10.71 做postgresql的流复制主从时,会遇到调整max_wal_sengers这个参数,官方文档对这个参数做了一个简要的说明(9.2.4比早先版本多了几句话并做了一些微调),但没有实际的例子. 1.参数说明: Specifies the maximum number of concurrent connection…
生命不息,test不止. 最近组里面修改了几个postgresql的bug,要进行回归测试,除了前面提到的WAL的RT测试和Mirroring Controller的RT测试,还要测试下postgresql的hot standby功能. 要进行该项测试,就要首先搭建hot standby环境. 本文主要记录下搭建hot standby环境的过程以及其中遇到的问题及解决方法. 首先介绍下系统环境: 操作系统:RHEL_6_x64 postgresql版本:9.5.4 首先至少要有两台机器,其次这两…
高可用.负载均衡和复制 1. 不同方案的比较 共享磁盘故障转移 共享磁盘故障转移避免了只使用一份数据库拷贝带来的同步开销. 它使用一个由多个服务器共享的单一磁盘阵列.文件系统(块设备)复制 DRBD是用于 Linux 的一种流行的文件系统复制方案.事务日志传送 温备和热备服务器能够通过读取一个预写式日志(WAL) 记录的流来保持为当前状态.如果主服务器失效, 后备服务器 拥有主服务器的几乎所有数据, 并且能够快速地被变成新的主数据库服务器.这可以是同步的或异步的, 并且只能用于整个数据库服务器.…
QA PgPool-II 同步 Postgresql X1 服务器准备 192.168.59.121 PostgreSQL10 192.168.59.120 PGPool-II 3.7 X2 安装PostgreSQL #M1 下载 $ https://yum.postgresql.org/ $ yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.n…
在前面的章节中,我们已经理解了各种复制概念.这不仅仅是一个为了接下来将要介绍的东西而增强您的意识的理论概述,还将为您介绍大体的主题. 在本章,我们将更加接近实际的解决方案,并了解PostgreSQL内部是如何工作的,复制意味着什么.我们将看到所谓的事务日志(XLOG)做什么,以及它是如何运作的.XLOG在PostgreSQL复制机制中起着主要作用.理解这部分是如何工作的是必要的. 2.1 PostgreSQL如何写入数据 PostgreSQL的复制完全是关于写入数据的.因此,PostgreSQL…
bitnami-docker-postgresql 仓库 源码:bitnami-docker-postgresql https://github.com/bitnami/bitnami-docker-postgresql 流复制相关环境变量 使用以下环境变量,可以使用 Bitnami PostgreSQL Docker 镜像 轻松设置流复制集群: POSTGRESQL_REPLICATION_MODE: replication 模式.可能的值 master/slave.没有默认值. POSTGR…
Basic Replication If you’re feeling overwhelmed, try setting up a slave to see how easy it is! We’ll assume that you have a running PostgreSQL installation on the IP 10.0.0.10 and that you’re setting up a slave at 10.0.0.11, with both running Postgre…
一 整合 由于本人的学过的技术太多太乱了,于是决定一个一个的整合到一个springboot项目里面. 附上自己的github项目地址 https://github.com/247292980/spring-boot 附上汇总博文地址 https://www.cnblogs.com/ydymz/p/9391653.html 以整合功能 spring-boot,FusionChart,thymeleaf,vue,ShardingJdbc,mybatis-generator,微信分享授权,drools…
问题的提出 在项目中,有些表的记录增长非常快,记录数过大时会使得查询变得困难,导致整个数据库处理性能下降.此时,我们会考虑按一定的规则进行分表存储. 常用的分表方式是按时间周期,如每月一张,每天一张等.当每月或每天首条记录到达时,根据表结构创建该周期为后缀的表进行存储. 相关考虑 这其中主要考虑两个问题: (1)如何复制表 采用分表机制,通常会建立一个模板表.所谓模板表,是只定义结构不存储数据的,也可称之为类表,而分表,通常会以增加后缀的方式命名,如 log_201901,分表实际存储数据,可称…
2.5 XLOG的内部结构 我们将使用事务贯穿本书,并让您在技术层面上更深地洞察事情是如果工作的,我们已经增加了这部分专门处理XLOG的内部工作机制.我们会尽量避免前往下降到C级,因为这将超出本书的范围,但我们会为您提供希望足够深的见解. 2.5.1 理解XLOG记录 对XLOG所做的更改是基于记录的.这意味着什么?让我们假设您在给一个表添加一行数据: test=# INSERT INTO t_test VALUES (1, 'hans'); INSERT 0 1 在这个例子中,我们正在插入一个…
2.4 调整检查点和XLOG 目前为止,这一章已经提供深入洞察PostgreSQL如何写入数据,一般来说,XLOG是用来干什么的.考虑到这方面的知识,我们现在可以继续并学习我们能做些什么来使我们的数据库在复制和单台服务器运行的两种情况更加有效的工作. 2.4.1 理解检查点 在本章中,我们已经看到在数据可能到其它地方之前,它已经被写入到了XLOG.问题是,如果XLOG从未被删除,显然,在没有填满磁盘的同一时间,我们不会永远写到XLOG中. 要解决这个问题,XLOG必须在某一时刻被删除.这个过程就…
2.3 理解一致性和数据丢失 挖掘PostgreSQL事务日志而不考虑一致性是不可能的.在本章的第一部分,我们已经大体上解释了事务日志的基本思想.您已经知道,无需事先的日志改变的能力,使数据处于一种好的形状是很难甚至是不可能的. 到现在为止,我们大多都在讨论崩溃的问题.因为数据文件中的条目的损坏而丢失文件是绝对不好的.但是,崩溃不是您要关心的唯一问题.另外两个重要的主题是: • 性能 • 数据丢失 虽然这可能是一个重要的主题的明显的选择,我们有这样的感觉,这两个主题都不好理解,是受尊敬的,并因此…
2.2 XLOG和复制 在本章中,您已经了解到PostgreSQL的事务日志已经对数据库做了所有的更改.事务日志本身被打包为易用的16MB段. 使用这种更改集来复制数据的想法是不牵强的.事实上,这是在每个关系(或者甚至非关系)数据库系统的发展的一个逻辑步骤.本书的其它部分,您将在许多方面看到PostgreSQL事务日志可以如何以许多不同的方法被使用,获取,存储,复制,和分析. 在大多数的复制系统中,PostgreSQL事务日志是整个体系结构(用于同步复制和异步复制)的的骨干.…
问题再现 环境: postgresql: 11.5 windows 10 企业版LTSC 64位 使用postgresql-11.5-1-windows-x64.exe安装后,让重新启动,但是重启后,依然没有在服务中找到pstgresql的服务,也就没有办法启动服务.并且查看pgsql的安装目录,data也是空的. 解决 注册. 因此需要自己注册服务,cd 到pgsql的安装目录的bin目录下,我的是:C:\Program Files\PostgreSQL\11\bin 之后运行以下命令: pg…
对于业内来说,基本都在围绕主从切换的高可用方案: http://www.10tiao.com/html/175/201509/210974337/1.html https://www.jianshu.com/p/ef183d0a9213 https://my.oschina.net/Kenyon/blog/98217 一主多从实现读写分离,完全依赖第三方激情软件的pgpool: http://www.bkjia.com/Javascript/1188773.html https://github…
参考了别人的部分,添加了自己在实践中的内容,仅做记录. 1.同步流复制中 主机操作 1.1postgresql.conf wal_level = hot_standby # 这个是设置主为wal的主机 max_wal_senders # 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个 wal_keep_segments # 设置流复制保留的最多的xlog数目 wal_sender_timeout = 60s # 设置流复制主机发送数据的超时时间 max_connections #…
主主是mysql的概念,通常在mysql中为保证事务一致也是一台主写,一台做读.pg主从可以互为切换 之前没做数据库部署这部分,一个同事离职暂时没人,接受过来的!mysql做的是主主复制,我理解是可以同时操作两台server上的mysql,数据相互同步,事实上也就是这样,但pgsql主主...请教下怎么去主从切换,这个是要做HA么,比如说主从复制用slony,HA如何实现,谢谢了,部署这块的东西太烦了,周围也没有多余人做,做过的话还请简单指导下,实现类似mysql的主主功能即可了...   0 …
postgresql搭建从库 master  10.40.196.27 slave   10.40.55.69 需求:master和slave作为主从流复制,当master宕机后,slave切换为新主继续服务:然而当master恢复故障后,作为从重新加入主从流复制.   master 1.创建复制用户 create user rep replication password 'rep'; 2.设置pg_hba.conf -bash-4.1$ cat pg_hba.conf|grep repli|…