![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Postgres
supermancoke
合肥架构师一名
展开
-
Postgres10高性能开发(6)锁及其检查
锁类型参考文档:https://www.postgresql.org/docs/10/explicit-locking.html表级锁锁名称引发操作ACCESS SHARE 访问共享锁SELECT任何读取不修改表的查询都将获取本锁ROW SHARE 行共享锁SELECT FOR UPDATESELECT FOR SHAREROW EXCLUSIVE 行...原创 2020-03-02 16:15:49 · 276 阅读 · 0 评论 -
Postgres10高性能开发(5)高级SQL
WITH CTE公用表达式查询https://www.postgresql.org/docs/10/queries-with.htmlhttps://www.postgresql.org/docs/10/sql-select.htmlWITH提供了一种编写辅助语句以便在更大的查询中使用的方法。这些语句(通常称为公用表表达式或CTE)可以被视为定义仅针对一个查询存在的临时表。一个在每个...原创 2020-03-02 16:11:40 · 246 阅读 · 0 评论 -
Postgres10高性能开发(4)控制解释计划
控制解释计划参数控制参数默认值说明enable_bitmapscanon启用或禁用位图索引扫描enable_gathermergeon启用或禁用收集合并,并发查询时会出现收集合并enable_hashaggon启用或禁用HashAggregateenable_hashjoinon启用或禁用Hash Joinenable_indexs...原创 2020-03-02 16:11:06 · 500 阅读 · 0 评论 -
Postgres10高性能开发(3)统计
统计解释计划通过统计分析各种方式的成本来选择"最优"的执行路径VACUUM, ANALYZE或一些DDL操作(如CREATE INDEX)可以重新生成统计单列统计pg_class记录表、索引中的行数VACUUM, ANALYZE或一些DDL操作(如CREATE INDEX)生成统计SELECT relname,relkind,reltuples,relpages from pg_cl...原创 2020-03-02 16:10:28 · 184 阅读 · 0 评论 -
Postgres10高性能开发(2)解释计划
解释计划Explainhttps://www.postgresql.org/docs/10/sql-explain.html基本使用利用规划器评估解释计划及其执行成本explain不执行SQL只进行评估,同时不会评估数据传输的网络开销explain select * from crm_t_archive_person# ResultSeq Scan on crm_t_arch...原创 2020-03-02 16:09:13 · 371 阅读 · 0 评论 -
Postgres10高性能开发(1)索引
数据结构BTreePostgres默认的索引类型可用于等于比较和范围查询Postgres8.3起可支持查找null值like ‘XXX%’如果数据库lc_collate值为C,支持索引查询如果数据库lc_collate值不是C(Postgres10默认不是C),可通过建立text_pattern_ops索引参数支持索引查询,例如create index id...原创 2020-03-02 16:08:45 · 975 阅读 · 0 评论 -
DDL语句造成Postgres PreparStatement报错
参考文档https://jdbc.postgresql.org/documentation/head/server-prepare.htmlhttps://jdbc.postgresql.org/documentation/head/connect.html#autosave连接相关设置prepareThreshold(int):指定在一个会话中需要经过多少次PreparedStat...原创 2020-03-02 16:08:22 · 807 阅读 · 1 评论 -
Postgres流式备份(6)备份和恢复
备份定时维护定时维护,强制执行保留策略、WAL文件管理Barman如通过rpm安装将自动添加定时配置文件/etc/cron.d/barman,内容如下,设置每分钟进行一次定时维护# m h dom mon dow user command * * * * * barman [ -x /usr/bin/barman ] && /usr/...原创 2020-03-02 15:55:27 · 1037 阅读 · 0 评论 -
Postgres流式备份(5)主要命令
语法barman [OPTIONS] COMMANDOPTIONS-v, –version显示barman版本并退出-q, –quiet不输入任何内容.用于定时脚本.-h, –help显示帮助信息不能退出-c CONFIG, –config CONFIG使用指定的配置文件COMMAND所有命令均支持查看帮助barman COMMAND -harchive-wal SE...原创 2020-03-02 15:54:46 · 424 阅读 · 0 评论 -
Postgres流式备份(4)配置新数据库备份
配置文件初始化在/etc/barman.d新建数据库配置文件touch /etc/barman.d/192.168.220.133.conf文件内容如下[192.168.220.133]; Human readable descriptiondescription = "PG10"; 备份目录backup_directory = /home/backup/192.168.22...原创 2020-03-02 15:54:05 · 417 阅读 · 0 评论 -
Postgres流式备份(3)配置文件
参考文档:http://docs.pgbarman.org/release/2.5/barman.5.html全局配置文件位置:/etc/barman.conf包含常规选项,如主目录,系统用户,日志文件等。服务配置文件位置:/etc/barman.d目录中,并且必须具有.conf后缀。Barman备份的每个数据库服务器一个文件属性属性位置说明activ...原创 2020-03-02 15:53:01 · 174 阅读 · 0 评论 -
Postgres流式备份(2)Barman安装
参考文档:http://docs.pgbarman.org/release/2.5/EPEL:https://fedoraproject.org/wiki/EPEL系统要求Python 2.6或2.7Python模块:argcompleteargh> = 0.21.2 <= 0.26.2argparse(仅限Python 2.6)psycopg2> = ...原创 2020-03-02 15:52:22 · 196 阅读 · 0 评论 -
Postgres流式备份(1)Barman概述
参考文档:http://docs.pgbarman.org/release/2.5/index.html概述Barman是使用Python编写的PostgreSQL开源备份和恢复管理器功能多种备份方式集成备份文件的管理流备份技术和工具pg_basebackup:用于数据库全量备份pg_receivewal/pg_receivexlog:用于基于全量对WAL增量备份,可实现很低...原创 2020-03-02 15:51:33 · 709 阅读 · 0 评论 -
PostgreSQL10基础(7)MVCC
参考书籍: 《PostgreSQL10 High Performance》MVCC即Multi Version Concurrency Control多版本并发控制,为提升多用户访问同样的数据而设计,性能优于锁定。被广泛用于诸多主流数据库。内部可见性计算当一个事务创建时,数据库会更新一个事务ID计算器,通常叫做XID。当插入一行或更新数据时,一个新行被创建(更新也会创建新行),该新行...原创 2020-03-02 15:46:27 · 232 阅读 · 0 评论 -
Postgres主从(4)复制视图
主服务器复制视图SELECT * FROM pg_stat_replication;列类型描述pidinteger一个 WAL 发送进程的进程 IDusesysidoid登录到这个 WAL 发送进程的用户的 OIDusenamename登录到这个 WAL 发送进程的用户的名称application_nametext连接到这个 WAL 发...原创 2020-03-02 15:44:49 · 291 阅读 · 0 评论 -
Postgres主从(3)各种问题场景处理
Repmgrd宕机主从上的Repmgrd宕机不影响服务运行,及时启动即可仅在repmgrd宕机后发生再发生PG或服务器宕机,则无法正常切换从服务器宕机前置状态3为主服务器2为从服务器VIP为6,主服务器才能具备VIP模拟场景2服务器宕机通过停止reboot操作系统模拟该场景预期结果主和VIP能够正常访问和写入数据检查VIP状态通过VIP6访问PG,验证是否正常后续...原创 2020-03-02 15:43:07 · 990 阅读 · 0 评论 -
Postgres主从(2)Repmgr基本命令
命令简介命令说明repmgr primary register安装pg的repmgr扩展并注册为主节点repmgr primary unregister注销不活动的主节点repmgr standby clone从其他节点复制数据到从节点repmgr standby register注册从节点(添加从的信息到repmgr元数据)repmgr st...原创 2020-03-02 15:39:46 · 2085 阅读 · 0 评论 -
Postgres主从(1)Repmgr安装和配置
安装有网安装安装2ndquadrant的RPM仓库yum install https://rpm.2ndquadrant.com/site/content/2ndquadrant-repo-10-1-1.el7.noarch.rpm安装对应PG版本的repmgr,如PostgreSQL10对应repmgr10yum install repmgr10无网安装在有网的服务器上下载RP...原创 2020-03-02 15:39:04 · 2016 阅读 · 0 评论 -
PostgreSQL10基础(6)Analyze和Vacuum
参考文档https://www.postgresql.org/docs/10/sql-analyze.htmlhttps://www.postgresql.org/docs/10/routine-vacuuming.htmlhttps://www.postgresql.org/docs/10/sql-vacuum.htmlhttps://www.postgresql.org/docs/...原创 2020-03-02 15:37:37 · 5355 阅读 · 0 评论 -
PostgreSQL10基础(5)Zabbix监控
监控对象服务器10.8.1.2操作系统:Centos7数据库:Postgres10.4数据库集群:repmgr4.0.5服务器10.8.1.3操作系统:Centos7数据库:Postgres10.4数据库集群:repmgr4.0.5Zabbix客户端安装安装rpm -i zabbix-agent-3.4.8-1.el7.x86_64.rpm配置修改...原创 2020-03-02 15:36:19 · 518 阅读 · 0 评论 -
PostgreSQL10基础(4)插件安装
安装环境数据库:PostgreSQL10.4(已安装)操作系统:Centos7安装步骤安装1.1 有网安装#安装源yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm#安装PG插件yum install po...原创 2020-03-02 15:35:06 · 1746 阅读 · 0 评论 -
PostgreSQL10基础(3)配置介绍
配置文件:postgresql.conf网络和验证# - Connection Settings -#设置监听的IPlisten_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use...原创 2020-03-02 15:34:02 · 335 阅读 · 0 评论 -
PostgreSQL10基础(2)安装
安装环境数据库:PostgreSQL10.4操作系统:Centos7安装步骤1. 安装1.1 有网安装#安装源yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm#安装PG客户端yum install pos...原创 2020-03-02 15:32:32 · 191 阅读 · 0 评论 -
PostgreSQL10基础(1)Centos7配置
参考文档:https://www.postgresql.org/docs/10/static/kernel-resources.html#LINUX-MEMORY-OVERCOMMITIPC配置名称描述Postgres值查询方法SHMAX共享内存段的最大大小(字节),一般配置为服务器内存的50%建议服务器内存的50%sysctl -a |grep shmmax...原创 2020-03-02 15:30:26 · 184 阅读 · 0 评论