
运维
文章平均质量分 73
小怪兽ysl
云和恩墨PG技术顾问,PG ACE,中国开源软件推进联盟PG分会系列技术丛书《快速掌握PostgreSQL版本新特性》副主编,中国PG分会认证讲师、恩墨学院PG讲师,PGfans年度MVP,拥有PGCM,MYSQL(OCP8.0), OBCP,OGCA等十多项数据库认证。PG中文社区分享过《PG逻辑复制槽与故障转移》《PostgreSQL15版本新特性解读》PG中国技术大会活动嘉宾。LFAPAC开源布道者,Linux基金会Research Localization伙伴。曾参与《深入理解开源项目办公室》《软件材料清单(SBOM)与网络安全准备度》官方中文版翻译
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【SQLite数据库常规使用命令】
之前在做围绕数据库相关的一些小工具的时候,想找一款数据库作为小工具的资料库。需求是:不用复杂的安装,支持简单SQL,空间占用小,操作简单等等。结合着之前接触到的一些研发同事做的产品的使用经验,我想到了这款轻量级的数据库----SQLite。SQLite遵守ACID,它的设计目标是嵌入式的,已经被广泛用于各种嵌入式设备和应用程序中。大多数的操作系统已经预装了SQLite,如果没有,用包管理器装一下sqlite3就可以了。如下是一部分使用SQLite的常规命令,供参考。原创 2024-09-18 20:32:54 · 1590 阅读 · 0 评论 -
【PostgreSQL-patroni维护命令】
optime/leader是主库最后一次操作后的lsn位置,是持久节点不会因为session到期,删除该key值。1342177280。原创 2024-09-13 22:52:23 · 1446 阅读 · 0 评论 -
【PGSQL 修改整个schema所有表owner】
【代码】【PGSQL 修改整个schema所有表owner】原创 2024-09-13 22:31:33 · 873 阅读 · 0 评论 -
【zabbix监控软件(配置及常用键值)】
z server使用 键值 采集agent数据,保存在 z mysql中,数据会以图谱的形式在web界面展示。当采集到的数据达到触发器的阈值时,会触发报警动作,通过报警媒介给报警接收人发送消息。浏览器访问:http://172.16.0.71/zabbix/主机群组:自带一部分,zabbix原生模板。同类产品:nagios、cacti。五、监控mysql-server。简介:能够部署企业级监控平台。八、部署 z proxy。监控软件–zabbix。密码: zabbix。六、监控nginx状态。原创 2024-09-13 22:23:48 · 1240 阅读 · 0 评论 -
【ps -aux里stat的进程状态】
【代码】【ps -aux里stat的进程状态】原创 2023-07-18 11:21:45 · 775 阅读 · 0 评论 -
【PostgreSQL的“double buffers“刷脏机制和参数】
PostgreSQL数据库使用双缓存写数据,shared_buffer + OS page cache,下图是PG与OS内存交互的过程 ,在PostgreSQL中,shared_buffers所代表的内存区域可以看成是一个以8KB的block为单位的数组,即最小的分配单位是8KB。这正好是一个page的大小,每个page以page内部的元数据(Page Header)互相区分。原创 2022-12-16 17:46:01 · 1947 阅读 · 0 评论 -
【PostgreSQL的wal_buffers】
wal buffer是预写日志(wal)缓冲区。原创 2022-12-12 14:55:24 · 2301 阅读 · 0 评论 -
【MySQL常用性能指标】
这里给大家分享一些MySQL的常用性能指标,可以对此增加一些自定义指标到数据库的监控里,如zabbix或者prometheus,来更好的检测数据库的状态。我的MySQSL版本是5.7.19。因为是自己的测试环境,所以截图的一些指标很低,仅为大家展示查看参数的显示情况。原创 2022-12-12 14:54:34 · 1336 阅读 · 0 评论 -
【openGauss/MogDB的uncommitted xmin问题解决】
但是比较好的一点是,MogDB/openGauss的maintenance模式不需要PostgreSQL那样需要停掉PostgreSQL数据库再去使用。在测试openGauss/MogDB的时候,发现主库查询snapshot.tables_snap_timestamp这个表的时候,一select *,数据库就宕机,而备库是正常的。此外我们根据提示的xmin可以找到对应的是pg_type以及两个索引。在分析的时候,因为是测试环境使用了vacuum full去测试(再使用正常方式登录,去查询这个表。原创 2022-12-12 14:53:31 · 957 阅读 · 0 评论 -
【PostgreSQL/MogDB/openGauss怎样获取表上依赖于该表的视图】
查询语句里的, a.refclassid=1259,这个1259是pg_class的oid,a.classid=2618的2618是pg_rewrite的oid。结果里relnamespace=2200是public这个schema的oid,可以查询pg_namespace得到。因此依赖于public.t1的视图是public.a1。原创 2022-12-12 14:52:33 · 504 阅读 · 0 评论 -
【PostgreSQL的shared_buffers和系统OS cache的关系】
在使用PostgreSQL要设置shared_buffers的大小的时候,我们通常的建议值是操作系统内存的25%,过大或者过小的值都会影响数据库的性能。此时我们有时候会产生一个疑问,为什么类似的参数,ORACLE和MYSQL都分配了操作系统大部分内存,例如ORACLE的sga通常设置为物理内存的80%,或者MySQL的innodb_buffer_pool_size 通常也设置为80%,而PostgreSQL的shared_buffers确设置的比例这么小呢。原创 2022-10-21 17:10:40 · 1696 阅读 · 0 评论 -
【PostgreSQL的 \watch命令】
这一改动,在我们需要长时间盯着数据库中某个视图结果的时候是比较方便的,但是不得不说,在某些场景下,它着实有一点鸡肋,因为本身Linux系统带有的watch就很强大了,而且数据库新加的\watch命令只能不停执行SQL命令并不断往下刷屏,Linux本身自带的watch可以结合psql客户端的-c命令实现动态刷新结果,而不是频繁向下滚动刷屏的效果,例如执行。而在PostgreSQL-15版本里,我们先执行一个SQL,然后通过\watch 跟上秒数,就可以实现类似于Linux系统本身的watch命令。原创 2022-10-12 14:55:41 · 796 阅读 · 0 评论 -
【kubernetes的基本API操作】
每次创建新的namespace,都会生成一个名为default的serviceAccount,同时会生成一个token,名为default-token-xxxxxsa就相当于该Namespace下的一个账户。原创 2022-09-01 21:44:18 · 649 阅读 · 0 评论 -
[根据openGauss/MogDB的lwtid查看线程堆栈]
在openGauss/MogDB数据库THREAD_WAIT_STATUS、PG_THREAD_WAIT_STATUS、GLOBAL_THREAD_WAIT_STATUS、LOCAL_ACTIVE_SESSION的几个视图里都有lwtid这一列,他是当前线程的轻量级线程号。也可以根据lwtid找到想分析的一些关键线程,例如一些特殊功能的线程,如WDRSnapshot、ASP、CheckPointer等、或者是在数据库中有长时间在跑的SQL的线程以及需要分析的等待事件对应的线程。原创 2022-09-01 21:40:56 · 421 阅读 · 0 评论 -
[MySQL远程备份策略举例]
获取软件压缩包: wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.27-el7-x86_64.tar.gz。5.可以选择加上备份报错日志 --log-error 把报错输出到类似于mysqldump_error_log_2022-08-03-015721.err的日志。远程登录主机的密码是远程root,而不是要登录的远程主机它自己本身的密码,两者不相同。#2.超过三天的备份文件的清理。原创 2022-09-01 21:40:03 · 1152 阅读 · 0 评论 -
[MySQL数据库部署及初始化相关]
有0和100两个极限值,0代表最大限度地使用物理内存,然后才使用swap分区,这种行为有可能导致内存溢出,出现OOM错误,从而导致MYSQL被意外kill掉,所以需要谨慎设置。注:如果在初始化过程中加上–initialize参数,表示会生成一个临时的数据库初始化密码,记录在log-error(错误日志)里边, 如果加上–initialize-insecure参数,代表无密码进入,建议使用生成初始化密码的方式。建议使用xfs文件系统,相比ext4,它更方便管理,支持动态扩容,删除文件也方便。原创 2022-09-01 21:39:26 · 519 阅读 · 0 评论 -
[PostgreSQL的 SPI_接口函数]
这个SPI_比较便利的一点在于,我们可以在自定义的Extension中也可以使用它,去用C调用SQL执行,也就是说,如果我们想的话,我们可以在Extension里用C语言定义一个函数,在函数里拼接出我们想要执行的SQL,并调用SPI_的相关接口函数,在数据库里实际执行该SQL。关键的部分如下,通过逻辑,其实可以看出来,我这里做了一个巨鸡肋的功能————通过函数输入一个表名和一个路径文件,函数拼接了一个COPY的SQL来实现copy to拷贝表的功能,但是为了演示SPI_的接口函数已经足够了。原创 2022-09-01 21:38:22 · 556 阅读 · 0 评论 -
[mysqldump备份单库、部分库、全库、及排除部分库]
本文针对MySQL的mysqldump工具在使用时,对于某些场景需要备份多个数据库或者排除部分数据库的场景进行举例。主要针对于备份的库是否符合预期,其余一些备份参数可根据使用场景增加调整。排除掉information_schema、performance_schema、sys、mysql、database1几个库,只备份其余的库。4.mysqldump排除部分库备份。2.mysqldump备份部分库。1.mysqldump备份单库。3.mysqldump备份全库。我的环境的mysql的版本为。原创 2024-01-17 12:46:21 · 1029 阅读 · 0 评论 -
[PostgreSQL数据库导入大量数据时如何优化]
在使用PostgreSQL的时候,我们某些时候会往库里插入大量数据,例如,导入测试数据,导入业务数据等等。本篇文章介绍了在导入大量数据时的一些可供选择的优化手段。可以结合自己的情况进行选择。原创 2022-09-01 21:36:42 · 606 阅读 · 0 评论 -
【ShardingSphere-proxy +PostgreSQL实现读写分离(静态策略)】
在业务对数据库是读多写少,且单台服务器或者单个数据库的性能已经不能满足当前业务对数据库大量读取请求的时候,我们可能需要对数据库做。常见的可以做读写分离的工具有mycat、ShardingSphere等。本文使用ShardingSphere-proxy实现了PostgreSQL的读写分离场景,如果对于PostgreSQL数据库除读写分离外还需要连接池等需求,还可以了解一下PostgreSQL的pgpool-II。...原创 2022-08-03 09:42:26 · 2654 阅读 · 3 评论 -
【Kubernetes的开放接口】
Kubernetes作为云原生应用的基础调度平台,相当于云原生的操作系统,为了便于系统的扩展,Kubernetes中开放的以下三个接口,可以分别对接不同的后端,来实现自己的业务逻辑。CRI(Container Runtime Interface):容器运行时接口,提供计算资源 CNI(Container Network Interface):容器网络接口,提供网络资源 CSI(Container Storage Interface):容器存储接口,提供存储资源1.CRI - Container原创 2022-05-30 17:03:05 · 1267 阅读 · 0 评论 -
【kubeadm部署一主两从的kubernetes集群】
kubernetes集群大体上分为两类:一主多从和多主多从。一主多从:一台Master节点和多态Node节点,搭建简单,但是有单机故障风险,适合用于测试环境多主多从:多台Master节点和多态Node节点,搭建麻烦,适合用于生产环境本文采用kubeadm部署一主两从的kubernetes集群,供测试使用,并包含了网络插件和一个简单nginx服务部署的例子一、禁用swap分区swapoff -aswap分区指的是虚拟内存分区,它的作用是在物理内存使用完毕后,将磁盘空间虚拟成内存来使用原创 2022-05-18 15:19:26 · 619 阅读 · 0 评论 -
[译]PostgreSQL-15逻辑复制发布/订阅的两阶段提交
即将推出的 PostgreSQL 15 引入了由富士通 OSS 团队与 PostgreSQL 开源社区合作添加的一项新功能,该功能允许在使用发布/订阅的逻辑复制中支持两阶段提交。让我们来看看如何使用它。此功能支持创建允许对两阶段事务的复制进行解码的发布/订阅。我们还修改了逻辑解码插件 pgoutput 以支持所有必需的两阶段回调 。启用两阶段提交时,准备好的事务在 PREPARE TRANSACTION 时发送给订阅者,订阅者也将其作为两阶段事务处理。一、背景PostgreSQL 14 已翻译 2022-04-24 23:29:51 · 551 阅读 · 0 评论 -
【Benchmarksql的props配置文件解析】
Benchmarksql的一个props文件例如下图所示db=postgresdriver=org.postgresql.Driver //驱动程序,每种数据库有对应的驱动conn=jdbc:postgresql://10.10.10.40:26000/tpcc?prepareThreshold=1&batchMode=on&fetchsize=10&loggerLevel=offuser=tpcc_usr //用户名password=tpcc@1234 ...原创 2022-03-31 14:52:42 · 1862 阅读 · 0 评论 -
【Alertmanager发送告警邮件配置】
Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上,然后发送报警信息到AlertManger,然后我们的AlertManager就来管理这些报警信息,聚合报警信息过后通过email、PagerDuty、HipChat、Slack 等方式发送消息提示。本文演示通过email发送告警信息。如下为在prometheus已经部署好的情况下,配置Alertmanager邮件发送。一、安装Altermanager软件下载地址为https://pr.原创 2022-03-10 16:43:59 · 5714 阅读 · 0 评论 -
【openGauss/MOGDB与PG等待事件】
数据库版本:PG12.1 openGauss/MOGDB 2.1.0最近看到了许多关于PG等待事件的文章,对等待事件这部分也有了很大的兴趣。等待事件是一个累计的统计信息,表明一个server process要继续完成作业,必须等待一个时间的结束;因为系统资源有限,那么完成某些工作,所需资源就要轮流使用,那么在这个过程当中,就会产生等待资源的情况。数据库会用不同类型的定义,来描述这个事情,称之为等待事件。openGauss/MOGDB数据库是基于PG研发的,原本PG是C语言,到了open...原创 2022-02-10 14:02:44 · 1393 阅读 · 0 评论 -
【PostgreSQL的表文件以及TOAST表文件对应关系】
一、表和表文件对应关系表和索引属于数据库对象,在pg_calss里都有相应的oid与之对应。每个表都有与之相关的两个关联文件,为_fsm和_vm,是空闲空间映射和可见性映射文件。表的三个文件也被称为相应关系的分支(fork),空闲空间映射是表或者数据文件的第一个分支(分支编号为1),可见性映射是数据文件的第二个分支(分支编号为2),数据文件的分支标编号为0。表或索引对象被创建后会生成以relfilenode编号命名的数据文件。该文件有1G的大小限制,超过1G或生成新的文件(文件名后边加数字编号):原创 2022-02-08 19:33:10 · 1656 阅读 · 0 评论 -
【PG恢复被打了删除标记的列】
环境 PostgreSQL 12.1一、创建测试数据postgres=# create table ysl1(id int,name char(10));CREATE TABLEpostgres=# insert into ysl1 values(1,'qwe');INSERT 0 1postgres=# insert into ysl1 values(2,'q32');INSERT 0 1postgres=# \dt+ ysl1 List原创 2022-01-19 12:19:00 · 1608 阅读 · 0 评论 -
【coredump文件生成,以及GDB工具使用】
一、core dump文件生成Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生core文件,其实准确的应该说是core dump 文件,默认生成位置与可执行程序位于同一目录下。1.查看core文件生成是否开启ulimit -a第一行core file size 如果是0表示没有打开,unlimited表示不限制产生文件大小。ulimit -c 查看也可以2.开启关闭core关闭或阻止core文件生成:$原创 2021-12-27 20:52:10 · 2566 阅读 · 0 评论 -
【Ansible自动部署工具】
运维部署三层次:1 纯手动操作2 一键部署脚本3 使用自动部署工具ansible是自动化运维工具,基于Python开发功能:批量系统配置、批量程序部署、批量运行命令工作原理:1 主机清单:定义ansible要管理的对象2 playbooks:剧本 python的yml脚本3 功能插件(模块):实现剧本中具体的任务4 连接模块:ssh5 ansible整合-----------------------------------------------应用场景:安装系统的工具:..原创 2021-12-26 10:00:20 · 563 阅读 · 0 评论