- 博客(5)
- 收藏
- 关注
原创 PostgreSQL主机无法自动清理pg_wal下wal文件
数据库数据目录下pg_wal的WAL文件在开启归档的模式下会将已归档WAL文件自动清理,具体流程是,转储WAL段文件到disk,写满或者使用pg_switch_wal()后,会生成000000xxxx.ready文件,调用archive_command命令且成功执行后,将ready文件更名为.done文件。而数据库会在执行checkpoint后计算出最旧的需保留的WAL文件,比该值更早的WAL文件...
2020-01-14 18:02:11 4049
原创 go学习第一篇
bogon:~ lhl$ cat helloworld.go package mainimport "fmt"func test(){ fmt.Println("this is test")}func init(){ fmt.Println("this is init")}func main(){ fmt.Println("this is main") ...
2019-08-14 19:27:17 159
原创 批量修改逻辑复制表标识方式
PG逻辑复制时,对表进行update 或者delete之后,解析出来的SQL需要在where条件上加以限制,从而防止出现在订阅端重放时出现较大的误差,这个时候就需要通过之前删除的旧值来做限定。限制的方式主要分四种1、default:默认通过主键进行限定(非系统表的默认值),仅保留主键旧值2、nothing:不保留任何旧值(系统表默认)3、full:保留所有旧值4、using i...
2019-08-14 19:09:48 550
原创 postgresql:ERROR: row is too big: size 12032, maximum size 8160
pg的页面初始化默认值为8192,除去页面头信息之外可以使用的空间约为8160字节,当某一个tuple超过这个大小后,就会出现上述报错。 什么情况下会出现这种报错呢? 我举个栗子 首先是字段数量要足够大,注意不要超过最大字段数1600。例如我们建个1500字段的-bash-4.2$ cat create_table.sh #!/bin/bashsql=idMbigint...
2018-06-27 19:04:48 2863
原创 postgres IPC 源码初探
在pg方向的数据库运维将近两年了,最近开始进入源码层探究一下具体的实现流程,写的比较乱,看到哪里写到哪里吧。 pg的架构与Oracle类似,都是多进程架构,相似的进程也蛮多的,日志进程,读写进程,统计进程等等。那么多进程间是如何进行协同工作的呢?管道(半双工,FIFO,全双工),消息队列,信号量,共享存储(内存、文件) pg的IPC主要采用了基于操作系统共享内存的编程技术,同时...
2018-06-20 17:47:59 563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人