Recent Posts

PostgreSQL merge json的正确姿势

less than 1 minute read

背景 json merge是业务常用的功能,例如网络爬虫,更新合并新爬到的内容。 PostgreSQL 9.5 对JSON的类型进行了非常大的功能增强,例如支持合并,按KEY删除,更新KEY VALUE等。 https://www.postgresql.org/docs/9.5/static/function...

在PostgreSQL中如何生成线性相关的测试数据

less than 1 minute read

背景 生成线性相关的测试数据。 同样可以用到generate_series和随机数。 例子 生成10万条随机数字。 select trunc(10000 + 1000000*random()) id from generate_series(1,100000); 根据刚才那组数据,加减5以内的...

在PostgreSQL中如何生成测试kmean算法的数据

1 minute read

背景 生成Kmeans的测试数据。 例如每10000为界,生成10个种子,每个节点以100内的随机数相加,生成一组测试数据。 postgres=# create table test(id int, rand int); CREATE TABLE postgres=# insert into ...

PostgreSQL Oracle 兼容性之 - connect by

2 minute read

背景 Oracle用户常用的功能之一connect by。 主要针对的是树形查询,例如上下级关系,家族图谱,分类,等。 用法举例 创建示例表: CREATE TABLE TBL_TEST ( ID NUMBER, NAME VARCHAR2(100 BYTE), PID NU...

Linux cgroup - cpu与cpuset子系统讲解

3 minute read

背景 Linux cgroup - cpu与cpuset子系统讲解 Linux cgroup 有两个子系统支持CPU隔离。 一个是cpu子系统,另一个是cpuset子系统。 cpu子系统根据进程设置的调度属性,选择对应的CPU资源调度方法 1. 完全公平调度 Completely Fair Scheduler...

PostgreSQL的天气预报 - 如何预测Freeze IO风暴

2 minute read

背景 还记得我写的这篇文档吗? 《PostgreSQL 大表自动 freeze 优化思路》 https://yq.aliyun.com/articles/50411 文章主要针对如何优化大表的freeze调度来减少IO风暴的问题,请注意只是减少,不是避免。 作为一名有追求的PGer,要时刻保持警惕,生于忧患...