Recent Posts

如何检测、清理Greenplum膨胀、垃圾(含修改分布键) - 阿里云HybridDB for PG最佳实践

8 minute read

背景 Greenplum通过多版本支持数据的删除和更新的并发和回滚,在删除数据时(使用DELETE删除),对记录的头部xmax值进行标记。在删除记录时,对记录的头部进行标记,同时插入新的版本。 这一就会导致一个问题,如果用户经常删除和插入或更新数据,表和索引都会膨胀。 PostgreSQL是通过HOT技术以及...

解读2017-08-10发布的几个安全漏洞

4 minute read

背景 PostgreSQL 社区于08-10发布了新版本,修复了三个安全漏洞。 https://www.postgresql.org/about/news/1772/ CVE-2017-7546: Empty password accepted in some authentication method...

PostgreSQL on ECS多云盘的部署、快照备份和恢复

11 minute read

背景 随着阿里云云盘的发展,云盘的性能已经越来越好了。IOPS可以做到十万以上,读写吞吐也超过1GB/s了。相信随着网络的发展,SSD云盘IOPS突破40万,读写吞吐突破4GB/s也不远了。 不过这里的IOPS和吞吐是指并发的IO能力,单次IO的延迟与本地还是不能比(将来RDMA网络也许能解决这个问题)。 P...

解密上帝之手 - 阿里云HDB for PostgreSQL数据库metascan特性(存储级、块级、batch级过滤与数据编排)

10 minute read

背景 数据也有生辰八字,你信吗?列与列之间,行与行之间,元素与元素之间如何相生相克?查询慢?不要信什么这都是上天注定的,如何给数据改运?看完本文,你也可以做到。 一份天赋,九份努力。缘分天注定。命由天定。又有说我命由我不由天的。看样子中国古人对先天注定的东西研究还挺透彻,看的还挺开,但是也有通过后天努力,或...

PostGIS 空间数据学习建议

2 minute read

背景 我写过一些GIS的案例和文档,但是为了测试方便,文中大量使用了内置的几何point类型,并非GIS类型。 包括一些空间函数、空间数据的构建使用可能不是特别规范。 收到来自PostgreSQL社区GIS领域朋友的建议,为了防止给学习GIS的同学带来误导,请参考如下建议。 感谢这位朋友。 相关文章 《...

PostgreSQL SQL防火墙

4 minute read

背景 SQL注入通常是业务层做的事情,例如使用绑定变量,使用关键字过滤等手段,避免被SQL注入。 另一方面,数据库也有类似的功能,例如SQL防火墙。 PostgreSQL内置了很多的HOOK,这些HOOK可以方便开发者加入一些功能,例如在SQL parser阶段的HOOK,可以加入一些SQL统计,SQL篡改,...

PostgreSQL 读写分离代理 - Crunchy Proxy(base on golang)

5 minute read

背景 数据库管理员有几个非常常见的问题需要解决:连接池、HA、容灾、读写分离、sharding、MPP、备份、恢复。 1、虽然很多框架都支持本地连接池,但是别忘了APP大多数是无状态的,通常在搞活动前还可能扩容,增加APP的组数,为了防止雪崩或者连接不足,建议中间还可以加一层连接池。例如pgpool, pgbo...

[招聘] [探探] PostgreSQL DBA

less than 1 minute read

招聘 中高级PostgreSQL DBA 公司名称 探探 公司人数 公司简介 https://tantanapp.com/ 公司网站 https://tantanapp.com/ 坐标 北京,朝阳 职位 中高级PostgreSQL DBA 岗位描述 配合产品、开发团队进行数据库设计和调优,对数据库整...

记录动态格式化输出(ToB日志转换业务) - 阿里云RDS PostgreSQL, HybridDB for PostgreSQL最佳实践

6 minute read

背景 有一些业务需要将数据归类动态的输出,比如一些公共日志服务,所有用户的日志都被统一的按格式记录到一起,但是每个最终用户关心的字段都不一样,甚至每个用户对数据转换的需求都不一样。 比如这个业务: 《日增量万亿+级 实时分析、数据规整 - 阿里云HybridDB for PostgreSQL最佳实践》 ...