- 博客(6)
- 资源 (4)
- 收藏
- 关注
原创 PostgreSQL安装手册
安装前准备1.1、主机硬件配置4G内存,40G磁盘1.2、配置OS内核参数kernel.shmall、kernel.shmmax、kernel.shmmni共享内存相关参数,在9.2以及以前的版本,数据库启动时,对共享内存段的内存需求非常大。后期版本要求不大,但可参考此设置。vi /etc/sysctl.conf追加到文件末尾kernel.shmall = 4294967296ke...
2019-12-30 17:59:20 2370
原创 PostgreSQL Listen/Notify 功能
pg中的Listen/Notify是用来提供客户端之间通过服务段进行消息通信的机制。这两个命令分别是干嘛的呢?LISTEN:用来注册一个消息通道。如果在事务中执行listen, 那么事务必须成功commit, listen才生效.session 退出后listen自动释放.NOTIFY:用来往消息通道发送异步消息。如果在事务中执行notify, 那么必须等事务成功commit之后这个...
2019-12-30 17:57:44 2799 2
原创 PostgreSQL RUM索引介绍
pg中自带的gin索引可以用来进行全文检索之类的加速查询。索引字段entry构造的TREE,在末端posting tree|list 里面存储的是entry对应的行号. 别无其他信息。因此对于某些场景gin索引的性能可能会差强人意,例如我们需要检索文档中每个单词出现的次数,并按照出现次数的多少来进行排序。如果使用gin索引的话,则会从GIN中找到对应的heap tuples,然后逐一取出并计算...
2019-12-30 17:56:45 2564
原创 PostgreSQL BRIN索引详解
pg9.5增加的brin索引,存储了被索引字段在块级别的边界值(最大值、最小值)以及其他统计信息。BRIN索引的扫描原理很简单,扫描BRIN的元数据,根据元数据和用户输入的条件进行比较,过滤不符合条件的HEAP PAGE,只扫描需要扫描的HEAP PAGE。所以brin索引仅仅适合存储与值线性相关性很好的列。例子:我们创建两张表,一张表插入线性相关很好的数据,另一张表插入离散的数据来测试b...
2019-12-30 17:55:39 4158 2
原创 PostgreSQL模糊查询(单、双字)
pg中我们可以使用pg_trgm插件来进行模糊查询,但是这个插件有个缺陷在于:不支持单、双字节的文本,因为它是将对象进行切词,每3个字节为一组进行切割,所以单、双字节的就无法覆盖到。对于单、双字的模糊查询我们可以自定义一个切词函数,然后使用gin索引来进行索引扫描。例子:创建自定义切词函数:bill=# create or replace function split_12(text) r...
2019-12-30 17:54:18 2024
原创 PostgreSQL12同步流复制搭建及主备切换
0、说明pg12流复制搭建主要方式和之前没有太大区别,改变的地方在于pg12将recovery.conf文件合并到了postgresql.conf中,相关的配置需要进行修改。1、主库配置同样需要在主库配置接受流复制的连接,修改pg_hba.conf文件,添加另一个备库的信息# TYPE DATABASE USER ADDRESS ...
2019-12-30 17:52:48 15072 9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人