PostgreSQL高可用之Repmgr和Patroni部分场景对比
PostgreSQL数据库有着各种各样的高可用方案,绝大多数,都是基于流复制机制实现的,常见的例如Patroni+DCS,Pacemaker+Corosync,Repmgr,keepalived,pg_auto_failover,PGpool等等,其中使用较多的应该是Patroni和Repmgr两种,下文针对PostgreSQ的两种高可用方案Repmgr和Patroni进行部分场景对比。一、Rep
PostgreSQL 函数获取表DDL
CREATE OR REPLACE FUNCTION tabledef(text,text) RETURNS text LANGUAGE sql STRICT AS $$ WITH attrdef AS ( &n
MySQL远程备份策略举例
mysqldump做备份时候可能出现性能抖动,mysqldump是先从buffer中找想要备份的内容,如果buffer没有,就需要访问磁盘中的数据文件,然后把数据调回内存,形成备份文件。当把数据从磁盘调到内存时,有可能把内存里的热数据冲掉,这样就影响了我们对现有业务的访问。因此,备份最好在业务较低时候做。一台机器安装mysql客户端工具,最好和数据库的版本一致,不然可能存在问题。获取软件压缩包:
ShardingSphere-proxy +PostgreSQL实现读写分离(静态策略)
在业务对数据库是读多写少,且单台服务器或者单个数据库的性能已经不能满足当前业务对数据库大量读取请求的时候,我们可能需要对数据库做读写分离。 常见的可以做读写分离的工具有mycat、ShardingSphere等。本文使用ShardingSphere-proxy实现了PostgreSQL的读写分离场景,如果对于PostgreSQL数据库除读写分离外还需要连接池等需求,还可以了解一下PostgreSQL的pgpool-II。
Linux查看相关系统信息
1 查看CPU1.1 查看CPU个数cat /proc/cpuinfo | grep “physical id” | uniq | wc -l2uniq 命令:删除重复行;wc –l命令:统计行数1.2 查看CPU核数cat /proc/cpuinfo | grep “cpu cores” | uniqcpu cores : 41.3 查看CPU型号cat /proc/cpuinfo | grep
PostgreSQL的四种进程间锁
在PostgreSQL里有四种类型的进程间锁:Spinlocks:自旋锁,其保护的对象一般是数据库内部的一些数据结构,是一种轻量级的锁。LWLocks:轻量锁,也是主要用于保护数据库内部的一些数据结构,支持独占和共享两种模式。Regular locks:又叫heavyweight locks,也就是我们常说的表锁、行锁这些。SIReadLock predicate locks:谓词锁,主要是用来表
Kubernetes的开放接口
Kubernetes的开放接口Kubernetes作为云原生应用的基础调度平台,相当于云原生的操作系统,为了便于系统的扩展,Kubernetes中开放的以下三个接口,可以分别对接不同的后端,来实现自己的业务逻辑。CRI(Container Runtime Interface):容器运行时接口,提供计算资源CNI(Container Network Interface):容器网络接口,提供网络资源C
【译】加速Postgres 15 中的sort性能
作者:David Rowley译者:阎书利链接地址:https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/speeding-up-sort-performance-in-postgres-15/ba-p/3396953正文近年来,PostgreSQL 进行了一些优化,使排序速度更快。在 PostgreSQL 15
在vim中显示并编辑十六进制
你可以在vim中可以把文件转换为16进制来显示::%!xxd解释:把所有的行(%)用本地(!)的xxd程序打开。xxd本是linux下一个显示、编辑、转换二进制的命令。返回正常显示::%!xxd -r注意:vim的-b选项是告诉vim打开的是一个二进制文件,不指定的话,会在后面加上 0x0a ,即一个换行符。首先以二进制方式编辑这个文件: vim -b datafile现在用 xxd 把
Kubernetes里的Operator
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。在对一些复杂应用进行Kubernetes容器化的时候,经常能看到xxx operator,如ETCD Operator、Prometheus Operator、Postgres Operator、openGauss Operator、MySQL Operator等等。Operator&n
PostgreSQL之锁监控脚本
PostgreSQL之锁监控1.pg锁监控脚本 SELECT blocked_locks.pid AS blocked_pid, blocked_activity.usename AS blocked_user, blocking_l
kubeadm部署一主两从的kubernetes集群
kubernetes集群大体上分为两类:一主多从和多主多从。一主多从:一台Master节点和多态Node节点,搭建简单,但是有单机故障风险,适合用于测试环境多主多从:多台Master节点和多态Node节点,搭建麻烦,适合用于生产环境本文采用kubeadm部署一主两从的kubernetes集群,供测试使用,并包含了网络插件和一个简单nginx服务部署的例子一、禁用swap分区swapoff 
PostgreSQL基于Pacemaker+Corosync+pcs的高可用
地址信息 172.20.10.6 pg01 172.20.10.7 pg02 172.20.10.8 pg03 172.20.10.9 vip-master 172.20.10.10 vip-slavehosts文件如下一、三台机器同步时间[r
openGauss/MogDB-3.0.0 dcf测试(非om安装)
IP地址172.20.10.6 LERDER 172.20.10.7 FOLLOWER 172.20.10.8 FOLLOWER一、安装openGauss安装依赖包yum install -y bzip2 bzip2-devel curl libaio创建用户、组并创建目录groupadd om
openGauss数据库分析问题
方法一 查看日志查看数据库日志ERROR级别以上日志1.先查找数据目录的位置,可通过ps f -u om bm查看数据目录,或者gs_om -t status --detail查看数据目录比如数据目录为/var/lib/opengauss/data2.再查找数据库日志目录cat /var/lib/opengauss/data/postgresql.conf|grep log_directory例如
一致性协议(Consensus Algorithm)
1、多数派2、两阶段Accept第一阶段:Propose阶段。Proposers向Acceptors发出Propose请求, Acceptors针对收到的Propose请求进行Promise承诺第二阶段:Accept阶段。收到多数派Acceptors承诺的Proposer,向 Acceptors发出Accept请求,Acceptors针对收到的Accept请求进行接收 处理第三阶段(可优化)
kubectl大纲
kubectl使用大纲
kubectl的自动补全
配置kubectl的自动补全CentOS:yum install -y bash-completion echo 'source
openGausss/MOGDB时间消耗相关视图
数据库版本openGauss/MOGDB-2.1.1一、显示当前用户在各个节点上正在执行的作业的负载管理记录(单位:ms)包含:语句执行前的阻塞时间、语句执行的开始时间、语句已经执行的时间、语句执行预估总时间、语句执行预估剩余时间。语句在数据库节点上的最小执行时间,语句在数据库节点上的最大执行时间,语句在数据库节点上的平均执行时间,语句在数据库节点上的最小CPU时间,语句在数据库节点上的最大CPU
Benchmarksql的props配置文件解析
Benchmarksql的一个props文件例如下图所示db=postgres //数据库类型,postgres代表我们对PG数据库进行测试driver=org.postgresql.Driver //驱动程序,每种数据库有对应的驱动conn=jdbc:postgresql://10.10.10.40:26000/tpcc?prepareThreshol