postgresql 文本索引 spgist 与 btree 区别

postgresql 对文本的索引有 spgist 和 btree 两种,同样一张表,行数 140w 行左右,建立 btree 索引,执行一次 like starts with,冷启动大约 1.4s,反复多跑一次,稳定在 1.1s 改成 spgist 索引呢,瞬间降到 0.03s,到底是什么黑科技,能这么明显的提速 搜了一下,看到这里 http://www.postgres.cn/docs/9…. 大概……

阅读全文

postgresql 死锁检查与处理

今天在 postgresql 上执行一个 DDL 的时候卡死,其实就是一个 alter table add column 的语句 那么,首先可以用这个 SQL 来看有哪些执行中的查询 select query, * from pg_stat_activity where query != '' order by query_start asc; 但是从这里有两个问题,一是只能看到自己名下的,别人的 SQL 看不到具体 query,……

阅读全文

greenplum 集群启动失败

有一个 gp 集群,部分 seg 挂了,带伤跑了一阵子,执行过几次 gprecovery,又中断了 recovery 进程,最后发现 gprecovery 无法继续,总是会触发节点 down,然后继续作死,把之前备份的一份 datadir 的内容替换上去,再次重启 gp 集群,发现这下好了,彻底起不来,报错 20180705:21:19:47:021616 gpstart:10:gprds-[INF……

阅读全文

postgresql 一些坑

看到这里, https://www.zhihu.com/question… 在总结 pg 的一些好处 但是,个人实际用下来,pg 的两个大坑,一个是 auto vacuum 不生效,慢,而且没用,vacuum full 更慢,而且效果不明显,mvcc 我可以理解,但是不应该空间膨胀来作为代价吧 另外一个,就是慢查询日志,这个貌似还要通过插件来实现,还没细究 ====……

阅读全文

postgresql 表大小控制

如果在构造一张很宽的 postgresql 表的时候,发现表磁盘占用膨胀的很厉害,且这张宽表是一张稀疏表,那么可以把所有的稀疏字段都用 null 赋值(而不是 0) 这个心得貌似很简单,但是花费了我好大周折才总结出来,表空间缩小很显著

阅读全文

spark 写 gp/tpg 效率优化 —— 写入 237w 行数据耗时从 77 分钟到 34 秒

摘自内部分享,有删减。 具体到我们这次的场景中,我们用的是 gp,gp 全称是 greenplum,是一个 mpp 版本的 postgresql,可以参考这个简介 http://www.infoq.com/cn/news/2… ,协议上兼容 postgresql,我们可以用普通能连 postgresql 的方式去连 gp,并且把 gp 看成一个黑盒的集群版本的 postgresql 来使用 然后这……

阅读全文