1. Patroni处理流程图 2. Patroni处理流程图分析 patroni处理流程图主要包括如下几个模块。 2.1 run_cycle 模块 patroni处理流程图的主模块。 主模块可能调用 Node bootstrap模块、process_health_cluster模块、process_unhealth_cluster模块。 2.2 Node bootstrap 模块 描述了Patroni的初始化逻辑,通过判断$PGDATA目录是否为空触发,如果$PGDA...
2024-01-17 17:51 854 0
1 查看表中系统列 PG 每张表中有几个系统隐含列,这些系统列字段在psql使用“/d”命令中并不显示。因为表中已隐含了某些名字的字段,所以用户定义的字段名称不能再使用这些名字,这个限制与名字是否为关键字没有关系,即使字段名称用双引号括起来也不行。 PG 中pg_attribute 视图保存了所有表的列的信息,可以通过该视图查看有哪些系统字段。 cn...
2022-12-18 14:45 1639 0
1 类型转换CAST / 双冒号(::) 概念 在PG 的SQL中,会经常看到:: 的语法, "::" 符号其实是一个显示的类型转换符,作用等同于CAST。 官网的说明如下: https://www.postgresql.org/docs/current/sql-createcast.html By default, a cast can be invoked only by an explicit cast request, that is an explicit CAST(x AS typename) or x::typena...
2022-12-17 22:36 2402 0
1 Vacuum 概念 Vacuum 是PG 为了实现MVCC(多版本并发控制)而采用的一种技术。 不同数据库实现MVCC 方法不一样。 1.1 Oracle/MySQL 这两种数据库是通过undo日志来实现MVCC。当数据记录被DML修改,将修改前的数据记录在undo log中,客户端可以读取数据时,通过undo log指针进行回滚找到对应可见的版本。 长事物、大事物会导致undo log暴涨,一定...
2022-12-17 21:55 1215 0
在之前的博客我们介绍了PG的生命周期,如下: PostgreSQL 学习笔记(2) — PG 版本发布策略 和 生命周期说明 https://www.cndba.cn/dave/article/116372 从PG 10 开始,PG 每年会发布一个大版本(major version),每个季度会发布一个小版本(minor release)。PG 大版本不保持向后兼容性,所以升级需要使用pg_upgrade命令来导出导入数据。 小...
2022-12-17 16:40 2787 0
2022-12-17 12:08 2340 0
在之前的博客我们看了sysbench对pg的压测,如下: PostgreSQL 学习笔记(18) — PG 性能压测工具 sysbench 使用说明 https://www.cndba.cn/dave/article/116397 本篇我们来看一个自带的工具:pgbench。它可以在并发的数据库会话中一遍一遍地运行相同序列的 SQL 命令,并且计算平均事务率(每秒的事务数);默认情况下,pgbench会测试一种基于 T...
2022-12-16 22:30 2055 0
sysbench是一款开源的多线程性能压测工具,可以对CPU、内存、线程、IO、数据库等进行性能压力测试。 在之前的博客我们看了使用sysbench 对mongodb 和 TDSQL 的压测,如下: MongoDB 性能测试工具 sysbench-mongodb https://www.cndba.cn/dave/article/107997 TDSQL 集群 使用 sysbench 进行性能压测 使用案例 https://www.cndba.cn/dave/article...
2022-12-16 22:08 2141 0
1 错误现象 在pg 14.6 的平台上编译sysbench报错: make[2]: Leaving directory `/data/postgres/sysbench-master/third_party/concurrency_kit/tmp/ck' make[1]: Leaving directory `/data/postgres/sysbench-master/third_party/concurrency_kit' Making all in src make[1]: Entering directory `/data/postgres/sysbench-master/sr
2022-12-16 21:10 2266 0
1 PgBouncer 概述 PgBouncer是为PostgreSQL数据库提供的一个轻量级连接池工具,与其他存在于PostgreSQL的连接池中间件不同,PgBouncer仅作为一个连接池和代理层为PostgreSQL和应用之间提供服务。 Pgbouncer 官网地址如下: http://www.pgbouncer.org/ PgBouncer的作用如下: 如果应用程序直接与PostgreSQL连接,则每次连接时PostgreSQL都会克隆...
2022-12-16 15:32 2775 0
在之前的博客我们看了PG 主从复制的相关概念,如下: PostgreSQL 主从复制(Standby)相关概念 说明 https://www.cndba.cn/dave/article/116391 本篇我们来看下一主两从同步复制的搭建。 1 环境说明 我们这里搭建一主两从的架构,主库101,从库102 和 103, PG 版本14.6, 操作系统版本Redhat 7.9。 [dave@www.cndba.cn ~]# cat /etc/hosts 127...
2022-12-16 00:13 2917 0
PG的高可用方案比较多,我们这里只看原生的主从复制的相关概念。 主从复制涉及如下几个概念: 主库:提供读写功能数据库,称为Primary database或master database; 从库(warm standby server): 在接收主数据库同步数据和应用同步数据时,不能提供只读服务,则该备份数据库称之为warm standby server; 从库(hot standby server):在接收同...
2022-12-14 21:11 1667 0
在上篇博客我们了解了PG 统计信息的相关内容,如下: PostgreSQL 学习笔记(14) — PG 统计信息 说明 https://www.cndba.cn/dave/article/116388 本片我们继续了解PG的执行计划。 1 执行计划说明 1.1 执行计划命令 PG中使用执行计划来查看SQL的执行效率。 查看执行计划的命令如下: EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALY...
2022-12-14 14:20 1498 0
1 统计信息说明 统计信息主要用于查询优化时的代价估算, 对SQL 的性能非常重要。 在PG 数据库中有2个进程会收集统计信息:autovacuum 和 postgres: stats collector。 [dave@www.cndba.cn ~]# ps -ef|grep post root 1574 1 0 10:40 ? 00:00:00 /usr/libexec/postfix/master -w postfix 1580 1574 0 10:40 ? 00:...
2022-12-14 09:51 1565 0
在之前的博客,我们看了PG的安装,如下: PostgreSQL 学习笔记(3) — PG 单实例安装手册 https://www.cndba.cn/dave/article/116374 但是用DBeaver连接的时候,会报如下错误: Connection to 192.168.56.101:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. Connec...
2022-12-13 10:58 3206 0
人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."
ACE 搜索
中国ORACLE用户组
中国DBA联盟(ACDU)· 核心伙伴
墨天轮 · MVP
CNDBA_2: 142216823(2k群)
CNDBA_3: 283816689(2k群)
CNDBA_4: 391125754
CNDBA_5: 104207940
CNDBA_6: 62697977