Recent Posts

Linux 批量依赖库拷贝(ldd)

3 minute read

背景 如何将程序依赖的动态库拷贝到指定的目录? 例子 1、通过LDD查看依赖的动态库。 # ldd postgres linux-vdso.so.1 => (0x00007ffcfc324000) libpthread.so.0 => /lib64/lib...

PostgreSQL Oracle 兼容性之 - timestamp + numeric

2 minute read

背景 Oracle里面支持时间戳与数字的加减,数字默认单位为天。 PostgreSQL 支持时间戳与interval类型进行加减。日期支持与整型做加减。 为了兼容Oracle(时间戳与数字加减),我们可以复写操作符来实现时间戳与数字的加减。 复写操作符 1、自定义几个函数,用于时间戳与数字的加减。 pos...

Linux page allocation failure 的问题处理 - zone_reclaim_mode

3 minute read

背景 Linux内核分配失败,现象: 内存使用一定量后,HANG。 dmesg中可能会有类似这样的错误,系统HANG住,无法连接,需要重启解决。 page allocation failure Oct 24 11:27:42 kernel: : [21289.479063] pytho...

[转] 快速计算Distinct Count

2 minute read

背景 本文转发自技术世界,原文链接 http://www.jasongj.com/2015/03/15/count_distinct/ 正文 UV vs. PV 在互联网中,经常需要计算UV和PV。所谓PV即Page View,网页被打开多少次(YouTube等视频网站非常重视视频的点击率,即被播放多少次,也即...

在PostgreSQL中使用 plpythonu 调用系统命令

1 minute read

背景 有些时候,为了方便调度,可能需要在数据库中执行一些系统命令。 例如清理OSS对象存储,查看磁盘使用量等。 使用plpythonu,可以简便的调用系统命令。 例子 1、执行命令,返回命令的返回值。 create or replace function exec_cmd1(cmd text) retu...