专注,勤学,慎思。戒骄戒躁,谦虚谨慎

just do it

导航

#

[置顶] 一些值得收藏的数据库知识链接

摘要: postgresql 技术内幕 https://www.jiangguo.net/c/42e/dn.html Postgresql Buffer pool设置: PostgreSQL 自己的 DB buffer & 与别的人的OS cache 之 回答问题:https://cloud.tencent 阅读全文

posted @ 2017-07-23 12:02 MSSQL123 阅读(721) 评论(2) 推荐(2) 编辑

2024年11月16日 #

PostgreSQL pg_wal目录下都哪些类型的文件(译)

摘要: 笔者最近写了一个PostgreSQL自动故障转移脚本,在测试的过程中,发现pg_wal目录中除了常规的wal日志文件,还会生成其他类型的文件,参考如下截图,除了wal日志,其他的这些文件代表什么意思,用什么用途?如下译文中将会给出一个完成的答案。 pg_wal目录 archive_status目录: 阅读全文

posted @ 2024-11-16 09:02 MSSQL123 阅读(27) 评论(0) 推荐(0) 编辑

2024年11月15日 #

PostgreSQL libpq的客户端故障转移和负载均衡

摘要: 什么是libpq libpq是应用程序使用PostgreSQL的C接口。libpq是一个库函数的集合,它们允许客户端程序传递查询给PostgreSQL后端服务器并且接收这些查询的结果。libpq也是很多其他PostgreSQL应用接口的底层引擎,包括为 C++、Perl、Python、Tcl 和 E 阅读全文

posted @ 2024-11-15 18:53 MSSQL123 阅读(10) 评论(0) 推荐(0) 编辑

2024年11月11日 #

PostgreSQL主从流复制状态监控和自动故障转移的轻量级实现

摘要: 对于PostgreSQL的高可用,之前研究过repmgr以及pg_auto_failover,起作用都是起到主节点故障时,实现“自动故障转移”的目的。但是repmgr以及pg_auto_failover得缺点是对数据库侵入过多,需要在被监控的数据库内部进行一系列的配置操作,甚至需要专用的服务器作为仲 阅读全文

posted @ 2024-11-11 19:02 MSSQL123 阅读(48) 评论(0) 推荐(0) 编辑

2024年11月7日 #

repmgr搭建一主+一从+一witness的PostgreSQL高可用集群

摘要: 测试环境说明 环境如下:OS: ubuntu 20PostgreSQL: PostgreSQL 16.4repmgr: repmgr 5.3.3 三台测试环境,均已安装好PostgreSQL 16.4,数据库实例信息如下 IP postgresql实例名 身份192.168.152.100: pos 阅读全文

posted @ 2024-11-07 20:01 MSSQL123 阅读(19) 评论(0) 推荐(0) 编辑

2024年10月31日 #

PostgreSQL中checkpoint的作用和工作原理

摘要: ###checkpoint的作用将脏页写入磁盘,避免数据库实例重启之后需要从WAL中恢复大量的数据而增加数据库恢复时间 ###checkpoints的触发时机1,手动CHECKPOINT命令;2,pg_basebackup,CREATE DATABASE,或pg_ctl stop|restart;3 阅读全文

posted @ 2024-10-31 20:11 MSSQL123 阅读(25) 评论(0) 推荐(0) 编辑

PostgreSQL 15(取消了stats collector进程)对统计信息收集的改进(译)

摘要: stats collector进程是PostgreSQL数据库的统计信息收集器,用来收集数据库运行期间的统计信息,如表的增删改次数,数据块的个数,索引的变化等等。收集统计信息主要是为了让优化器做出正确的判断,选择最佳的执行计划。PostgreSQL 15之前的版本中,有一个stats collect 阅读全文

posted @ 2024-10-31 06:38 MSSQL123 阅读(17) 评论(0) 推荐(0) 编辑

2024年10月27日 #

PostgreSQL逻辑复制常见错误以及处理方式

摘要: 在PostgreSQL和SQLServer中,有一个共同的特点,相比如物理复制,逻辑复制可能会存在较多的一些细节和可能错误的发生,作为SQLServer Replication(逻辑复制)的深度用户,有必要深入学习试验一下PostgreSQL的逻辑复制的一些细节。 订阅端的主要订阅选项信息 crea 阅读全文

posted @ 2024-10-27 14:58 MSSQL123 阅读(43) 评论(0) 推荐(0) 编辑

PostgreSQL 16逻辑复制改进 (译)

摘要: 原文地址:https://www.pgedge.com/blog/postgresql-16-logical-replication-improvements-in-action 我之前简要介绍了PostgreSQL中的复制方法,并概述了PostgreSQL 16中逻辑复制的一些关键特性。在这篇博客 阅读全文

posted @ 2024-10-27 11:32 MSSQL123 阅读(33) 评论(0) 推荐(0) 编辑

2024年10月19日 #

PostgreSQL流复制主从切换

摘要: 0,前提 确保PostgreSQL主从流复制是正常状态 1,从节点执行promote提升为主节点: 1.1 ###修改原从节点的pg_hba.conf,设置复制用户的IP为主节点 host replication replica_user 原始主节点IP/32 md5 1.2 ###原从节点上创建s 阅读全文

posted @ 2024-10-19 07:52 MSSQL123 阅读(84) 评论(0) 推荐(0) 编辑

2024年10月17日 #

PostgreSQL慢查询SQL收集和解析

摘要: postgresql通过log_statement参数记录慢SQL语句 PostgreSQL可以不借助任何扩展实现对SQL日志的记录,主要依赖于两个参数,也即log_statement和log_min_duration_statement, 1,记录的sql类型log_statement='all' 阅读全文

posted @ 2024-10-17 18:29 MSSQL123 阅读(189) 评论(0) 推荐(0) 编辑

PostgreSQL AutoVacuum 相关参数

摘要: 1.###自动vacuum开关 autovacuum = on; 默认打开 2.###autovacuum运行频率 autovacuum_naptime = 60s; 默认1分钟 3.###autovacuum工作线程数 autovacuum_max_workers = 3;默认三个线程 4.### 阅读全文

posted @ 2024-10-17 11:05 MSSQL123 阅读(36) 评论(0) 推荐(0) 编辑

2024年10月4日 #

PostgreSQL 性能优化概述(译)

摘要: 原文地址:https://www.prisma.io/dataguide/postgresql/reading-and-querying-data/optimizing-postgresql 概述 在数据库作为后台支撑的应用程序中,管理数据库的性能是一项持续的任务。运行缓慢的查询可能导致超时、降低用 阅读全文

posted @ 2024-10-04 09:56 MSSQL123 阅读(86) 评论(0) 推荐(0) 编辑

2024年9月30日 #

PostgreSQL流复制同步参数与synchronous_standby_names设置

摘要: PostgreSQL的流复制,从整体上看,可以粗分为同步与异步两种模式,其中涉及的主要参数包括synchronous_commit和synchronous_standby_names 主节点synchronous_commit参数设置 synchronous_commit事务提交模式,类似于MySQ 阅读全文

posted @ 2024-09-30 23:33 MSSQL123 阅读(184) 评论(0) 推荐(0) 编辑

2024年9月25日 #

SQLServer中,当压缩备份遇到TDE加密的数据库

摘要: 压缩备份和TDE 1,曾经的曾经,未加密的数据库启用加密之后,数据库的完整压缩备份时间比未启用加密之前增加了好几倍,到了完全无法接受的程度,不解,查了文档之后发现SQLServer加密后不支持压缩备份,一旦加上压缩选项之后,不但没有压缩效果,而且备份时间有数倍的增长 2,曾经,自己又被自己打脸,对加 阅读全文

posted @ 2024-09-25 18:31 MSSQL123 阅读(52) 评论(0) 推荐(0) 编辑

2024年9月14日 #

SQLServer 2016之后的触发统计信息自动更新阈值算法变化

摘要: 背景:最近trouble shooting某数据库性能问题,发现统计信息相关的一些信息,跟以往“经验”是不吻合的,在以往的知识中,统计信息不应该这么频繁的更新啊 之前吐槽了很多年的统计信息自动更新阈值算法(操蛋的500 + (0.20 * n)),其实早在SQLServer 2016中就有优化过了, 阅读全文

posted @ 2024-09-14 14:31 MSSQL123 阅读(47) 评论(1) 推荐(2) 编辑

2024年9月4日 #

redis-cli创建Redis集群时显式指定主从节点

摘要: 背景 前些年用python写过一个Redis Cluster 自动化安装,扩容和缩容的工具,虽然当时官方的的redis-trib.rb集群创建工具提供了集群创建、 检查、 修复、均衡等命令行功能,个人接受不了redis-trib.rb,原因在于redis-trib.rb需要ruby的环境,同时无法自 阅读全文

posted @ 2024-09-04 20:31 MSSQL123 阅读(105) 评论(0) 推荐(0) 编辑

SQLServer事务复制延迟优化之并行(多线程)复制

摘要: 事务复制的延迟 在数据库的主从复制过程中,包括MySQL的主从复制,SQLServer的事务复制等等,鉴于主节点往往是并发写入的,而从节点(SQLServer中叫做订阅节点)在重放主节点的写操作的时候,往往会产生一定时间的延迟,如何降低这种复制延迟,并行复制或者说多线程复制是其中手段之一。 SQLS 阅读全文

posted @ 2024-09-04 20:24 MSSQL123 阅读(68) 评论(0) 推荐(0) 编辑

2024年8月9日 #

SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法

摘要: 问题场景 SQL Server事务复制在正常创建发布和订阅之后,log reader Job 启动异常,出现“The process could not execute ‘sp_replcmds’ on xxx”等异常日志导致代理服务无法正常启动。 异常现象 参考下图,异常日志如下 Error me 阅读全文

posted @ 2024-08-09 19:47 MSSQL123 阅读(49) 评论(0) 推荐(0) 编辑

pg_dump与pg_restore的逻辑逻辑备份还原

摘要: 整理了一下pg_dump逻辑备份还原,pg啥时候推出一个库级别的物理备份还原就好,逻辑备份能行但操作大库效率太低,就像MySQL/MSSQL一样,跨实例做库级别还原的需求太多了 pg_dump备份 pg_dump备份 -F format 参数,备份文件的格式。format可以是下列之一: p pla 阅读全文

posted @ 2024-08-09 13:49 MSSQL123 阅读(123) 评论(0) 推荐(0) 编辑

2024年8月6日 #

SQLServer 事务复制订阅节点非活动状态(inactive)错误的处理:Error in replication::subscription(s) have been marked inactive and must be reinitialized

摘要: 事务复制中订阅节点非活动( inactive)错误 在SQLServer的事务复制模型中,会出现“订阅过期”的错误,相关订阅分发代理Job的典型错误如下:"Agent SQLNYC01-Onvoices-PubInvoicesInvoices-SQLNYC01-1353 is retrying af 阅读全文

posted @ 2024-08-06 20:47 MSSQL123 阅读(52) 评论(0) 推荐(0) 编辑

2024年7月29日 #

SQLServer 事务复制在发布端(publication)和订阅端(subscription)对应的数据库还原之后复制异常问题的解决

摘要: 书接上文,在一个正常的事务复制环境中,如果发生了数据库还原,事务复制会不会出问题,出问题之后又如何恢复,如果在不删除订阅发布重建的情况下,如何在现有基础上修复事务复制的异常,这个问题可以分为两部分看: 1,如果publisher数据库发生了还原操作,事务复制会出现什么异常,该如何恢复? 2,如果是s 阅读全文

posted @ 2024-07-29 21:26 MSSQL123 阅读(62) 评论(0) 推荐(0) 编辑

2024年7月24日 #

SQLServer非默认端口下事务复制代理作业服务无法启动的处理

摘要: SQL Server事务复制的结构 SQLServer事务复制的架构如下: 1,实例层面:主要有发布服务器,分发服务器,订阅服务器三个服务器,其中发布服务器是数据源,分发服务器是数据的中转站,订阅服务器是数据的目的地2,后台进程:主要有Snapshot Agent,Log Reader Agent, 阅读全文

posted @ 2024-07-24 21:08 MSSQL123 阅读(63) 评论(0) 推荐(0) 编辑

2024年7月11日 #

PostgreSQL流复制搭建

摘要: PostgreSQL流复制 postgresql物理复制也叫流复制,通过将主节点上的是redo日志(wal日志)传送到从节点来实现数据库的同步的,参考下图(侵删),正如逻辑复制里提到的 1,物理复制数据传递的原理:传递的wal也即redo日志,从节点上通过对物理日志进行redo的方式来实现数据的还原 阅读全文

posted @ 2024-07-11 19:52 MSSQL123 阅读(236) 评论(0) 推荐(0) 编辑

2024年7月10日 #

PostgreSQL逻辑复制搭建

摘要: 复制作为一种高可用/数据同步方案,在每一种数据库中都有实现,可以借助复制功能实现数据库的高可用或者数据同步/备份方案。 复制的分类 整体上看,复制可以分为物理复制和逻辑复制,对于物理复制或者逻辑复制,没有所谓的优劣,只有各自的适应场景。所谓的物理复制,也即复制数据库的redo物理日志,通过redo日 阅读全文

posted @ 2024-07-10 21:38 MSSQL123 阅读(217) 评论(0) 推荐(0) 编辑

2024年6月25日 #

如何快速在表级别做同构或者异构数据库之间的数据迁移/备份

摘要: 与库级别的备份还原这一重量级操作套路不同,单个表或者多个表的备份还原,亦或是跨实例或者异构数据库之间的数据同步,作为DBA日常处理的最多的问题之一,如何简洁,快速,高效地实现快速,是一个值得思考的问题? 同一个实例上表级别备份还原 对于源表和目标表,如果在同一个实例上,仅从SQL的层面就可以实现表级 阅读全文

posted @ 2024-06-25 21:23 MSSQL123 阅读(80) 评论(0) 推荐(0) 编辑

2024年6月3日 #

记一次基于倒序索引的SQL优化

摘要: 本文测试环境为SQLserver2019 背景 某业务流水表,会基于固定范围内的业务编号做写入以及查询操作,热数据的量级在亿级别,一个典型的查询是基于业务编码查询最新(时间戳)某种状态的前N条数据 简化后的表结构如下 create table TestTable01 ( id bigint iden 阅读全文

posted @ 2024-06-03 19:58 MSSQL123 阅读(195) 评论(0) 推荐(1) 编辑

2024年4月9日 #

redis 无盘复制(redis repl-diskless-sync)

摘要: 无盘复制的需求背景 redis在启动后自动生成一个唯一的标识符run_id,这个run_id在持久化的时候存在于RDB文件中(如果有启用RDB或者做了RBD备份操作),但是并不存在与AOF文件中(包括混合是持久化文件),如果下次重启从RDB加载数据,那么这个run_id可以保存。如果同时启用了RDB 阅读全文

posted @ 2024-04-09 20:53 MSSQL123 阅读(690) 评论(0) 推荐(1) 编辑

2024年1月29日 #

记一次MySQL从节点服务器宕机重启后,从节点出现主键冲突异常的处理

摘要: 环境 MySQL 5.7 非GTID模式多线程复制。 现象 某MySQL数据库从节点因故障宕机(因故障直接宕机,非正常关闭),重启之后发现复制状态异常,show slave的结果中Slave_SQL_Running为No,错误代码为1062 error code,从系统表performance_sc 阅读全文

posted @ 2024-01-29 20:04 MSSQL123 阅读(197) 评论(0) 推荐(0) 编辑

2024年1月17日 #

记一次SQLServer复制监控器(replication monitor)复制延迟数值为NULL的异常处理

摘要: 现象 在SQLServer复制(订阅发布),在正常运行的情况下,发布节点一直有写入,订阅节点也正常复制到了这些数据,但分发节点的复制监控器面板(replication monitor)无法看到部分发布对象的延迟信息。如下,经过重启SQLServer服务,重启SQLServer Agent服务,重启操 阅读全文

posted @ 2024-01-17 12:08 MSSQL123 阅读(144) 评论(0) 推荐(0) 编辑

2024年1月3日 #

对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型

摘要: 开始之前: 设计某数据库表结构的过程中,收到了一个另外令人感到意外的建议:对于字符型数据类型,数据库里统一使用varchar(max)来存储,也就是所有字符数据类型都用varchar(max)字段类型,理由是ORM写代码方便?是的,你没有听错,为了ORM中写代码方便,所以建议数据库中字符型字段全部使 阅读全文

posted @ 2024-01-03 21:39 MSSQL123 阅读(1629) 评论(0) 推荐(0) 编辑

2023年12月18日 #

SQLserver AlwaysOn 提交模式与节点的可用性

摘要: 接上文:https://www.cnblogs.com/wy123/p/17905118.html,关于AlwaysOn主副本与辅助副本之间提交模式与安全故障转移的话题 参考AlwaysOn属性面板中的信息 1,主节点异步提交模式:如果主要副本配置为“异步提交模式” ,则从节点不管是同步或者异步,主 阅读全文

posted @ 2023-12-18 22:07 MSSQL123 阅读(683) 评论(0) 推荐(0) 编辑

2023年12月16日 #

SQL Server 2019 非域&非集群环境创建Always On “只读扩展可用性组”(read-scale)

摘要: 在 SQL Server 2016 (13.x) 及更早版本中,所有可用性组都需要群集。 群集用于提供业务连续性,实现高可用性和灾难恢复 (HADR)。 此外,配置次要副本以执行读取操作。 如果目标不是高可用性,配置和运行群集消耗了相当大的运营开销。 SQL Server 2017 (14.x) 引 阅读全文

posted @ 2023-12-16 21:03 MSSQL123 阅读(981) 评论(6) 推荐(0) 编辑

2023年12月12日 #

(译)MySQL中的slave_exec_mode 参数详解(MySQL从节点跳过复制错误的处理,sql_slave_skip_counter VS slave-skip-errors VS slave_exec_mode)

摘要: 原文地址:https://www.soughttech.com/front/article/7159/viewArticle 今天我偶然看到了参数slave_exec_mode。从手册中的描述可以看出,该参数与MySQL复制有关。它是一个可以动态修改的变量。默认为STRICT mode(严格模式), 阅读全文

posted @ 2023-12-12 20:22 MSSQL123 阅读(387) 评论(0) 推荐(0) 编辑

2023年12月8日 #

备份压缩 (SQL Server)

该文被密码保护。 阅读全文

posted @ 2023-12-08 13:20 MSSQL123 阅读(0) 评论(0) 推荐(0) 编辑

2023年9月7日 #

译:SQLServer 事务复制延迟诊断

摘要: 原文地址:https://www.mssqltips.com/sqlservertip/3598/troubleshooting-transactional-replication-latency-issues-in-sql-server/ 问题 我安装了几个SQL Server 2012实例的集群 阅读全文

posted @ 2023-09-07 08:47 MSSQL123 阅读(503) 评论(0) 推荐(0) 编辑

2023年8月30日 #

译:如何成功恢复TDE加密过的数据库

摘要: 原文地址: https://www.mssqltips.com/sqlservertip/3572/recovering-a-sql-server-tde-encrypted-database-successfully/ 问题: 我的任务是在具有敏感信息的SQL Server数据库上设置透明数据加密 阅读全文

posted @ 2023-08-30 08:34 MSSQL123 阅读(289) 评论(0) 推荐(0) 编辑

2023年1月6日 #

Python中使用yield实现迭代器

摘要: 遇到复杂数据处理逻辑,想到可以使用Python的yield迭代器可以优雅地实现,切实体验到了迭代器的好处,多数情况下,代码不够优雅,特别是多层循环嵌套的,都可以常使用迭代器重构。 1,减少内存的占用,正如yield的经典用途,不必把所需的数据一次性生成到内存中,可以分批生成2,明确函数职责,代码更优 阅读全文

posted @ 2023-01-06 10:42 MSSQL123 阅读(173) 评论(0) 推荐(0) 编辑

2022年12月5日 #

(译)MySQL中的直方图统计信息

摘要: 什么是直方图,在MySQL 8.0.3如何创建直方图?MySQL的直方图是如何影响执行计划生成的?创建直方图有哪些注意事项?直方图和索引对优化器的选择上有什么差异,又该如何选择?如何判断直方图对执行计划的影响?MySQL官方blog的这篇文章用非常具体的示例回答了这一系列问题,let's go。原文 阅读全文

posted @ 2022-12-05 11:10 MSSQL123 阅读(336) 评论(0) 推荐(0) 编辑

2022年8月12日 #

译:在Python调用线程中处理线程异常(如何在主线程中捕获子线程异常)

摘要: python多线程中,主线程中如果捕获子线程的异常,笔者查阅了相关资料,有一种方式是使用队列(queue)将子线程的异常写入队列,然后主进程中去遍历异常消息队列,这种方式不近需要额外引入一个q对象,要同时遍历队列和判断线程状态,实现上上非常丑陋,后来发现如下方式,通过继承threading.Thre 阅读全文

posted @ 2022-08-12 17:14 MSSQL123 阅读(4333) 评论(0) 推荐(1) 编辑

2022年4月7日 #

cluster:提升postgresql性能(译)

摘要: cluster概念澄清 postgresql中没有聚集索引的概念,表都是以堆(heap)的方式存在,可以认为数据在物理存储上是无序的。cluster:这里的cluster不是指多个机器的组成的集群,而是指表中数据行按照某种方式物理排序存储。是一种改变postgresql表的物理存储的一种方案。适应场 阅读全文

posted @ 2022-04-07 19:46 MSSQL123 阅读(598) 评论(0) 推荐(0) 编辑