PG架构概览
生产上,有个需要从MySQL异构复制数据到PG中的需求。...数据同步组件用的是go-mysql-postgres (两位前同事基于社区开源的go-mysql-elasticsearch上做的PG功能补丁)。...校验和 {mysql_chksum}") # 连接PG进行数据校验 pg_conn = psycopg2.connect(host=configs.pg_host,...(str(x).replace(' ', '').encode()).hexdigest() pg_chksum[id] = chk_sum # print(f"PG校验和 {pg_chksum...= 'sbtest' mysql_tb = 'sbtest1' # PostgreSQL目标库的信息 pg_host = '192.168.31.182' pg_port = '5432' pg_user
脚本DB_PG_HC_lhr_v7.0.0.sql是PG脚本,执行后会产生PostgreSQL数据库的健康检查html报告。...二、巡检脚本特点 1、可以巡检Oracle、MySQL、SQL Server和PG数据库,也可以巡检Linux操作系统 2、脚本为绿色版、免安装、纯SQL文本 3、跨平台,只要有SQL*Plus、mysql...20c、21c等高版本Oracle数据库 6、对Oracle 10g、11g、12c、18c、19c、20c、21c等版本分别提供了只读版(只对数据库查询,不做DDL和DML操作) 7、MySQL最低支持...4、PG数据库 [image-20210130153433186.png] 5、OS信息 [wps16.jpg] 四、脚本运行方式 1、Oracle数据库 只要有sqlplus的客户端即可。...数据库 首先将DB_MySQL_HC_lhr_v7.0.0.sql和pt-summary这2个脚本拷贝到有mysql客户端的Linux环境中,然后执行如下命令: mysql -h192.168.1.63
和DDL操作,这也是很多朋友所期待的功能。...小麦苗数据库巡检脚本特点 1、可以巡检Oracle、MySQL、SQL Server、PG数据库(后期考虑增加MongoDB) 2、脚本为绿色版、免安装、纯SQL文本 3、跨平台,只要有SQL*Plus...19c、20c等高版本Oracle数据库 6、对Oracle 10g、11g、12c、18c、19c等版本分别提供了只读版(只对数据库查询,不做DDL和DML操作) 7、增删监控项非常方便,只需要提供相关...MySQL数据库 ? ? ? ? SQL Server数据库 ? ? ? OS基本信息 ? PG数据库 ? 脚本运行方式 Oracle数据库 只要有sqlplus的客户端即可。...数据库 mysql -h192.168.1.63 -uroot -plhr -P3306 --html -t -f --silent < DB_MySQL_HC_lhr_v6.0.8.sql
目录 1 mysql 2 pg 1 mysql ifnull(字段,0) 2 pg coalesce (字段,0)
转载地址: https://blog.csdn.net/rocklee/article/details/51251174 统计各数据库占用磁盘大小: SELECT d.datname AS Name,... pg_catalog.pg_get_userbyid(d.datdba) AS Owner, CASE WHEN pg_catalog.has_database_privilege(d.datname..., 'CONNECT') THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname)) ELSE...DESC -- nulls first LIMIT 20 ; 统计数据库中各表占用磁盘大小: SELECT table_schema || '.' || table_name AS table_full_name... pg_relation_size(relid)) from pg_stat_user_indexes order by pg_relation_size(relid) desc limit 10 ;
脚本DB_PG_HC_lhr_v7.0.0.sql是PG数据库脚本,执行后会产生PostgreSQL数据库的健康检查html报告。...)、mysql(MySQL、TiDB、OceanBase)、MSSQL客户端(SSMS、Navicat皆可)、psql(PG、Greenplum、openGauss)、gisql(国产达梦)、gsql(...2、MySQL数据库 其它不再列举。 3、SQL Server数据库 其它不再列举。 4、PG数据库 其它不再列举。 5、达梦数据库 其它不再列举。...> lhr_mysql_check.html 3、SQL Server数据库 脚本DB_MSSQL_HC_lhr_v7.0.0_2005.sql和DB_MSSQL_HC_lhr_v7.0.0_2008R2...db2数据库的巡检 12、2021.10.31加上了对OceanBase数据库的巡检,并且去掉了MySQL和TiDB之前只能在Linux上运行的限制 13、2022.3.8加上了对Greenplum数据库的巡检
varbinary:保存二进制字符串,他们保存的是字节而不是字符,填充是\0而不是空格 blob 和 text: 不能索引这些类型的完整长度,也不能为排序使用索引 排序时只按照max_sort_length...year date datetime 8字节存储,和时区无关,1001年到9999年,精度为秒 timestamp 4字节,和时区相关,表示从1970年1月1日以来的秒数 通常应该用timestamp...将遍历全表以找到匹配的行 possible_keys 指出MySQL能使用哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用 key 显示MySQL在查询中实际使用的索引...Index) 利用索引返回select列表中的字段,而不必根据索引再次读取数据文件 Using where Using temporary 表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询...Using filesort MySQL中无法利用索引完成的排序操作称为“文件排序” Not exists 使用了早期终结 MySQL执行计划的局限 EXPLAIN不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况
、21c等高版本Oracle数据库 6、对Oracle 10g、11g、12c、18c、19c、20c、21c等版本分别提供了只读版(只对数据库查询,不做DDL和DML操作) 7、MySQL最低支持5.5...2、MySQL数据库 其它不再列举。 3、SQL Server数据库 其它不再列举。 4、PG数据库 其它不再列举。 5、达梦数据库 其它不再列举。...> lhr_mysql_check.html 3、SQL Server数据库 脚本DB_MSSQL_HC_lhr_v7.0.0_2005.sql和DB_MSSQL_HC_lhr_v7.0.0_2008R2...13、万里GreatDB数据库 只要有mysql客户端即可,使用MariaDB的客户端也可以,如下: 和PostgreSQL数据库相似,需要有psql客户端,运行方式如下: 1 mysql -uroot...db2数据库的巡检 12、2021.10.31加上了对OceanBase数据库的巡检,并且去掉了MySQL和TiDB之前只能在Linux上运行的限制 13、2022.3.8加上了对Greenplum数据库的巡检
PG主从数据库搭建 环境 操作系统1:Windows Server 2012(X64) 操作系统2:CentOS 7 数据库:PostgreSQL 10.9 CentOS 7 安装 Postgresql...2、安装客户端 yum install postgresql10 3、安装服务端 yum install postgresql10-server 4、初始化pg /usr/pgsql-10/bin/postgresql...1、使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码) su - postgres 2、登录postgresql数据库 psql 3、创建用户和数据库并授权...image 2、修改/var/lib/pgsql/10/data/pg_hba.conf文件,增加下图红框部分内容 ?...2、修改pg_hba.conf 3、修改postgresql.conf 4、重启数据库 配置从库 1、拷贝数据 2、配置recovery.conf 3、配置postgresql.conf 4、配置完启动数据库
一、巡检脚本简介 二、巡检脚本特点 三、巡检结果展示 1、Oracle数据库 2、MySQL数据库 3、SQL Server数据库 4、PG数据库 5、达梦数据库 6、TiDB数据库...脚本DB_PG_HC_lhr_v7.0.0.sql是PG数据库脚本,执行后会产生PostgreSQL数据库的健康检查html报告。...Oracle数据库 6、对Oracle 10g、11g、12c、18c、19c、20c、21c等版本分别提供了只读版(只对数据库查询,不做DDL和DML操作) 7、MySQL最低支持5.5版本 8、SQL...2、MySQL数据库 其它不再列举。 3、SQL Server数据库 其它不再列举。 4、PG数据库 其它不再列举。 5、达梦数据库 其它不再列举。...db2数据库的巡检 12、2021.10.31加上了对OceanBase数据库的巡检,并且去掉了MySQL和TiDB之前只能在Linux上运行的限制
PG 数据库和 oracle 数据库的查看数据库版本的 sql 语句还不一样。 PG 数据库版本查看方法如下: select version() 演示效果图: ?
所以,一个成功的数据库架构在高可用设计方面也是需要充分考虑的。下面就为大家介绍一下如何构建一个高可用的MySQL数据库系统。...优势:软件功能强大,数据在底层块设备级别跨物理主机镜像,且可根据性能和可靠性要求配置不同级别的同步。IO操作保持顺序,可满足数据库对数据一致性的苛刻要求。...说完了各种常用架构的优缺点后,剩下的就是如何选择合适的架构在现实的生产环境中使用的问题。在这方面每个人都有自己的想法和经验,具体哪个方案是最优的就见仁见智了。...每一次的演变都是为了解决生产环境下的实际问题和痛点。单从MySQL来说任何一个架构都无法解决所有的问题(痛点),都需要根据实际的情况选择一个合适架构。...MySQL集群实现的方案非常灵活多变,对于MySQL工作者来说如何选择一个合适的架构也是一种挑战,同时也是我们不断钻研和学习MySQL的动力。
它是复制数据库状态机理论的实现,能够保证整体写入顺序,保证一致性。集群范围内最终一致,如果使用8.0.14之后的MySQL可以实现会话和全局范围的读写强一致性。...Router 透明访问数据库的架构,在应用程序和后端的MySQL数据库之间提供透明的路由连接。...2个TCP端口用于主节点和非主节点通信 MySQL Shell 提供一个数据库管理接口,可以执行MySQL相关的全部任务。...MySQL InnoDB Replica Set 完全整合MySQL Router 简单易用的MySQL Shell 配置、增加、移除成员 自动化部署成员(Clone) 主从复制架构 手动进行切换和故障转移...,写入事务需要保证事务同步 以上是关于MySQL高可用性架构的内容,用户可以根据不同的需求选择适合自己的架构。
,说明了count(1)和count(主键索引字段)其实都是执行的count(*),而且会选择索引的FFS扫描方式,count(包含空值的列)这种方式一方面会使用全表扫描,另一方面不会统计空值,因此有可能和业务上的需求就会有冲突...前几天,碰巧看见PostgreSQL中文社区发的一篇文章,关于在PG中count(1)和count(*)的效率问题,从结论看,和Oracle很像,但是他是从开源code,探究的整个过程,能够更准确地了解背后的原理...源码解读 查看count函数定义 test=# select proname, pronargs, prosrc from pg_proc where proname='count...可见,Oracle和PG对于一些操作,其实存在相同之处的,谈不上谁借鉴,可能更多地还是针对场景,为了满足业务以及性能方面的需求,提供的合理逻辑。...其实我想说的是,无论是从10046,还是从PG的源码,我们应该看得深入一些,从原理设计层面,站在架构师、开发人员的视角,了解这个功能,设计的初衷,这才有助于我们借鉴好的设计,学以致用,丰富我们的经验,实现自我提高
五.数据库架构扩展 随着业务量越来越大,单台数据库服务器性能已无法满足业务需求,该考虑增加服务器扩展架构了。...增加缓存 给数据库增加缓存系统,把热数据缓存到内存中,如果缓存中有请求的数据就不再去请求MySQL,减少数据库负载。缓存实现有本地缓存和分布式缓存,本地缓存是将数据缓存到本地服务器内存中或者文件中。...主从复制与读写分离 在生产环境中,业务系统通常读多写少,可部署一主多从架构,主数据库负责写操作,并做双机热备,多台从数据库做负载均衡,负责读操作。...在这种MySQL主从复制拓扑架构中,分散单台负载,大大提高数据库并发能力。如果一台从服务器能处理1500 QPS,那么3台就能处理4500 QPS,而且容易横向扩展。...如果业务量很大,还可将分离后的数据库做主从复制架构,进一步避免单库压力过大。
数据库“断页”是个很有意思的话题,目前任何数据库应该都绕不过去。...既然对于断页问题数据库都可能遇到,那么再来看看主流数据库是如何避免发生断页的。...mysql为了解决这个问题,引入了“双写”double write,也就是说在将数据页写入磁盘之前先写入一个共享的空间,然后再写入数据文件中。...最后看看pg的处理,pg通过开启full_page_writes参数(默认开启)来避免断页问题。...这种方式对性能也有一定影响,但是相比mysql的方式我觉得要好一些,mysql相当于任何一个脏页刷盘前都需要写两份,pg只是在数据块第一次发生变更的时候写入xlog中。
本文主要用来记述pg数据库的相关操作和异常排查指南,继上一篇博客之后,异常的频繁更新,导致死亡元组指数级增长之后,空间占用也成倍增长,逻辑问题导致了数据库问题,但细想之下也发现,当pg在面对海量数据的更新删除之后...,频繁的autovacuum会导致数据库大量的I/O,完了又会影响其他进程,就参数配置来看,还是有蛮多优化的空间的,毕竟空间和时间是两个相生相克的关系。...(1) 很多时候我都认为count(*)就是统计一行不展开数据直到我看到mysql文档当中写到: InnoDB handles SELECT COUNT(*) and SELECT COUNT(1)...select proname, pronargs, prosrc from pg_proc where proname='count'; 如上参考的是pg的数据库count函数,意思类似,这查看函数的功能太友好了...总结 知道的越多不知道的越多,即使各种数据库直接都有相通的思想和不同的实现,关于pg数据库元祖分析和事务xid冻结,请持续关注我后续博客 引用 MySQL 中 count() 和 count(1) 有什么区别
MySql体系架构概览 1 Connectors 指的是不同语言中与SQL的交互 2 Management Serveices & Utilities: 系统管理和控制工具 3 Connection...解析器是由Lex和YACC实现的,是一个很长的脚本。 主要功能: a . 将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后SQL语句的传递和处理就是基于这个结构的 b....进行属性投影,而不是将属性全部取出以后再进行过滤 将这两个查询条件联接起来生成最终查询结果 7 Cache和Buffer: 查询缓存。...存储引擎是MySql中具体的与文件打交道的子系统。也是Mysql最具有特色的一个地方。 Mysql的存储引擎是插件式的。...默认下MySql是使用MyISAM引擎,它查询速度快,有较好的索引优化和数据压缩技术。
这些messager 对应监听 public、cluster、front 和 back 四个端口:public 端口:监听来自 Monitor 和 Client 的连接。...至于,front和back和ceph的网络规划有关,ceph将osd间的副本数据、迁移数据的传输交由cluster network,将client和ceph后端的数据传输交由public network...扩散:作为中心节点的 Monitor 并没有在更新 OSDMap 后尝试广播通知所有的 OSD 和 Client,而是惰性的等待 OSD 和 Client 来获取。...OSD 挂掉之后,ceph 将这个 OSD 上的所有 PG 标记为 degraded,但是此时的集群还是可以正常读写数据的,但是需要做一些额外的标记和处理,因此虽然降级并不是严重的问题,仍会造成读写性能的下降...Peeredpeered,我们这里可以将它理解成它在等待其他兄弟姐妹上线,这里也就是osd.4和osd.7的任意一个上线就可以去除这个状态了,处于peered状态的PG是不能响应外部的请求的,外部就会觉得卡卡的
领取专属 10元无门槛券
手把手带您无忧上云