代码改变世界

随笔档案-2020年06月

pg中Building Indexes Concurrently

2020-06-29 13:24 by abce, 959 阅读, 收藏, 编辑
摘要: create index的语法中,看到一个关键字concurrently。以下是对concurrently的解释: 当使用这个选项时,PostgreSQL在构建索引时不加任何阻止对表的并发插入、更新或删除的锁;而标准的索引构建会锁定表上的写操作(而不是读操作),直到完成。 在使用此选项时,有几个注意 阅读全文

PostgreSQL逻辑订阅中的复制状态查看

2020-06-28 23:14 by abce, 3426 阅读, 收藏, 编辑
摘要: 1.订阅端 pg_subscription_rel 查看订阅的每个表的复制状态。是多对多的映射。其中: srrelid:表示表的pg_class.oid srsubstate:状态码;i=初始化,d=正在复制数据,s=已同步,r =准备好(常规复制) srsublsn: s和r状态时的结束LSN。 阅读全文

pg因invalid primary checkpoint record无法启动

2020-06-28 22:13 by abce, 3455 阅读, 收藏, 编辑
摘要: 有个开发环境,因为磁盘空间满了,有人直接将pg_wal下的文件rm了,然后,重启报错 2020-06-28 18:13:59.148 CST [10387]: LOG: database system was shut down at 2020-06-28 18:12:41 CST 2020-06- 阅读全文

Python中Lock和Rlock

2020-06-26 19:15 by abce, 2014 阅读, 收藏, 编辑
摘要: 线程是进程中可以调度执行的实体。而且,它是操作系统中可以执行的最小处理单元。简单地说,一个线程就是一个程序中可以独立于其他代码执行的指令序列。为了简单起见,你可以假设线程只是进程的子集! Locks 锁是Python中用于同步的最简单的方式。锁有两种状态:上锁、释放锁。 锁是线程模块中的一个类,有两 阅读全文

PostgreSQL中的heap-only-tuples updates

2020-06-26 13:25 by abce, 1151 阅读, 收藏, 编辑
摘要: 由于MVCC的原因,pg并非是直接更新一行记录:它生成重复的记录并提供行的可见性映射信息。 为什么要这么做呢?因为数据库必须考虑一个关键问题:并发性。被更新的行可能还在被之前的事务使用。 为了解决这个问题:rdbms采用了不同技术: ·修改行,并将原来的行版本放置到另外一个地方。比如oracle中的 阅读全文

Python中的with语句

2020-06-05 09:12 by abce, 293 阅读, 收藏, 编辑
摘要: 考虑下面的代码: set things uptry: do somethingfinally: set things down 其中,set things up可以是打开一个文件、或获取一些外部资源;set things down可能是关闭文件、释放资源。try..finally..结构保证了set 阅读全文
点击右上角即可分享
微信分享提示