Postgresql
Felixzhaowenzhong
勤能补拙
展开
-
PostgreSQL-XC 使用详解及维护
参考:http://postgres-xc.sourceforge.net/docs/1_2_1/https://www.postgres-xl.org/documentation/index.html建表详解根据数据的分布方式,pxc可以创建以下两种类型的表Replicated Tables: 各个底层节点数据库上表中的数据完成相同。插入数据时,会分别在各个底层节点数据库上插入相同的数据。值需要读取任意一个节点的数据。Distributed Tables:...原创 2020-10-20 18:01:01 · 2490 阅读 · 0 评论 -
PostgreSQL-XC 源码编译安装
PGXC熟悉pg的人对pgxc都不陌生,pgxc最初由stromdb公司开发,应用于商业,后来被TransLattice收购并将其开源,也就是现在的pgxl。Pgxc是基于pg的非常成熟的分布式架构,是一款混合负载的htap数据库。国内也有很多基于pgxc来做的分布式数据库,例如华为GaussDB-A,腾讯Tbase,苏宁易购,亚信antdb等或多或少都借鉴了pgxc的架构理念。pgxc的总体架构大家都很清晰了,不再赘述。pgxc的架构特点如下:①gtm保证全局读一致性,两阶段提交保证全局写一致原创 2020-10-20 17:52:51 · 1310 阅读 · 0 评论 -
解决PG索引膨胀(reindex)
#!/bin/bash#当表的数据小于20万则对表做 reindex table xxx操作#否则先删除索引(唯一约束索引,及主键除则 reindx index xxx),然后再创建该索引#zhaowenzhong 2019-04-02date=`date +"%Y%m%d%H%M"`v_constant=200000v_hour=0v_param=$#if [ $v_para...原创 2020-01-15 11:33:50 · 1335 阅读 · 0 评论 -
vacuum(analyze)
#!/bin/bash#设置自动定期对表更新统计信息和删除’死‘行#zhaowz 2019-04-02date=`date +"%Y%m%d%H%M"`v_hour=0v_param=$#if [ $v_param -ge 3 ];then echo "Invalid argument!! E.g sh pg-vacuum-analyze.sh vlnx1910...原创 2020-01-15 11:29:38 · 771 阅读 · 0 评论 -
vacuum(free)
vim pg-vacuum-freeze.sh#!/bin/bash#设置自动定期对 事务ID执行 回环#zhaowz 2019-04-02date=`date +"%Y%m%d%H%M"`v_hour=0v_param=$#if [ $v_param -ge 3 ];then echo "Invalid argument!! E.g sh pg-vac...原创 2020-01-15 11:26:27 · 250 阅读 · 0 评论 -
pgcluu 集群性能监控和审计工具
最近线上pg 频繁出现性能问题,而zabbix和grafana 上的监控又不够详细。最后结合前期自己写了很多监控脚本,把问题解决了。虽然自己用起来没问题,但是只能在出问题的时候现场抓。抓到后研发又一种不信任的表情。但是还是感觉缺点什么。于是在网上搜索了一下有没有更好的解决方法(研发喜欢曲线。哈哈)。于是发现 pgcluu。http://pgcluu.darold.net/source安装...原创 2019-04-15 12:16:49 · 1388 阅读 · 0 评论 -
barman使用复制槽备份
http://docs.pgbarman.org/release/2.5/使用复制槽就不用创建公钥及传递公钥了在barman和pg服务器间复制槽和rsync最好不要一起使用,一起使用的话会导致incoming里的文件爆满不会自动删除(实践是这样的)搭建测试环境vlnx151005101 --PG-Primaryvlnx153005101 --PG-Stand...原创 2019-04-15 12:29:59 · 664 阅读 · 0 评论 -
pgpool-II安装
wgethttps://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgpool-II-10-4.0.3-1.rhel7.x86_64.rpmwgethttps://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgpool-II-10-devel-4.0.3-1.rhel7.x86_64.rpmwget...原创 2019-04-18 11:30:35 · 2667 阅读 · 0 评论 -
pgpool-II(二)pgpool-II+repmgr(master/slave)+balance+pgpool
用 repmgr实现 pg的master/slave 搭建高可用和自动切换过程略(详见htthttps://blog.csdn.net/zhaowenzhong/article/details/80774004ps://blog.csdn.net/zhaowenzhong/article/details/80774568https://blog.csdn.net/zhaowenzhon...原创 2019-04-18 11:41:16 · 1759 阅读 · 0 评论 -
pglogical
前段时间由于架构的不合理性,高并发下 整套集群性能下降厉害(50个库),最后定位是由于一个500+G的库 在并且的情况下,做了类似mongodb的 upsert操作,导致其他库受到牵连,而研发端又暂时没有好的解决方法。后决定将这个库从该实例上迁出。于是采用了 pglogical 工具。先将 pglogical是使用共享https://www.2ndquadrant.comhttp...原创 2019-04-15 11:56:58 · 1439 阅读 · 0 评论 -
pgbouncer 常用 配置项详解
https://pgbouncer.github.io/config.html参考 《PostgreSQL修炼之道》之pgbouncer配置文件分为[databases] 和 [pgbouncer]两部分,这个前面说过。现在我们来详细讲解一下里面的配置。在上面的部分我们已经看到了一部分的[databases]部分的参数配置,都是以键值对的形式出现的,例如dbname、host、port...转载 2019-04-15 11:23:02 · 1310 阅读 · 0 评论 -
Postgresql 同步流复制
压力测试环境version:Postgresql 9.5.2OS: CentOS 6.5Source Code: Postgresql9.5.2172.31.107.1 primary 172.31.107.2 slave172.31.107.3 slave开启 防火墙端口 iptables -I INPUT -p tcp --dport 543原创 2016-07-13 16:32:15 · 3254 阅读 · 3 评论 -
Postgresql 异步流复制
压力测试环境version:Postgresql 9.5.2OS: CentOS 6.5Source Code: Postgresql9.5.2172.31.107.30 primary 172.31.107.32 slave172.31.107.31 slave开启 防火墙端口 iptables -I INPUT -p tcp --dport原创 2016-07-13 16:25:42 · 1323 阅读 · 0 评论 -
Postgresql 配置文件详解
如果要查看配置文件中的一些选项,则可以登录psql后 使用 命令来查看;show 选项名;show all; #查看所有数据库参数的值 主要选项:选项默认值说明是否优化原因max_connections100允许客户端的最大并发连接数目否因为在测试的过程原创 2016-07-13 16:42:40 · 17859 阅读 · 0 评论 -
Vacuum使用心得
最近在优化PG,在vacuum过程中发现了 (to prevent wrap)。于是花了一周实践深入了解并实践了一把。下面把这一周的心得分享一下,以备遇到同样情况的 朋友以及将来的自己 使用。 数据库总是不断地在执行删除,更新等操作。良好的空间管理非常重要,能够对性能带来大幅提高。在postgresql中用于维护数据库磁盘空间的工具是VACUUM,其重要的作用是删除那些已经标示为删除的数...原创 2018-11-05 17:40:37 · 15277 阅读 · 0 评论 -
AutoVacuum系统自动清理进程
AutoVacuum系统自动清理进程在PostgreSQL数据库中,对表元组的UPDATE或DELETE操作并未立即删除旧版本的数据,表中的旧元组只是被标识为删除状态,并未立即释放空间。这种处理对于获取多版本并发控制是必要的,如果一个元组的版本仍有可能被其他事务看到,那么就不能删除元组的该版本。当事务提交后,过期元组版本将对事务不再有效,因而其占据的空间必须回收以供其他新元组使用,以避免对磁盘空...原创 2018-11-05 17:49:55 · 917 阅读 · 0 评论 -
pgaudit 安装实践
下载https://github.com/pgaudit/pgaudit/blob/REL9_6_STABLE/README.md背景前提:postgresql 安装包 目录为 :/home/zhaowzh/pg966 1、解压pgaudit包unzip pgaudit-REL9_6_STABLE.zip2、mkdir -p /home/zhaowzh/pg966/...原创 2018-11-05 17:59:16 · 2030 阅读 · 0 评论 -
zabbix监控postgresql
参考https://blog.csdn.net/ygqygq2/article/details/60766393#4-%E5%AF%BC%E5%85%A5%E7%9B%91%E6%8E%A7%E6%A8%A1%E6%9D%BFhttps://www.zabbix.com/download?zabbix=3.4&os_distribution=centos&os_version=...原创 2018-11-05 18:08:39 · 4975 阅读 · 0 评论 -
pgBouncer初探
pgBouncer是一个轻型的pg连接池,可以很好的管理pg的连接(对客户端连接进行限制,预防过多恶意连接;pgbouncer的每个连接仅消耗2KB的内存资源)。PgBouncer的优点内存消耗低(默认为2k/连接),因为Bouncer不需要每次都接受完整的数据包可以把不同的数据库连接到一个机器上,而对客户端保持透明支持在线的重新配置而无须重启pgbouncer 可以限制每一对...原创 2019-04-15 11:20:17 · 4944 阅读 · 0 评论 -
Postgresql 安装
version:Postgresql 9.5.2OS: CentOS 6.5Source Code: Postgresql9.5.2建议先 运行 yum list installed mysql* 命令 查看安装了哪些mysql卸载 yum remove mysql5.6(比如)同样 把 早期的 postgresql 版本卸载掉rpm -qa |grep postgr原创 2016-07-13 16:35:51 · 411 阅读 · 0 评论