postgresql
-
PostgreSQL从库只读的实现原理
我们接触到的数据库,基本都提供了只读实例的功能。在业务允许的情况下可以将一些读取数据的请求下发至只读实例,减缓primary的压力,以获得更佳的性能。 物理从库只读已经是一个常识问…
-
PostgreSQL常用索引
索引其实就是一种数据结构,将数据库中的数据以一定的数据结构算法进行存储。当表数据量越来越大时查询速度会下降,建立合适的索引能够帮助我们快速的检索数据库中的数据,快速定位到可能满足条…
-
PostgreSQL如何获取系统视图/函数对应的源码
我们在使用PostgreSQL的时候可能经常会碰到这样的情况,对于某个系统视图的某个字段不知道是干啥的,看了官方文档后也一脸懵逼,不知道是啥意思。 这个时候如果我们可以看到该视图或…
-
PostgreSQL中安装配置PGBouncer连接池
PgBouncer可以在数据库和前端应用间建立连接,由PgBouncer去处理和后端数据库的连接关系。 对客户端的连接进行限制,预防过多或者恶意的连接请求。 主要工作还是每一个数据…
-
PostgreSQL从库只读的实现原理
我们接触到的数据库,基本都提供了只读实例的功能。在业务允许的情况下可以将一些读取数据的请求下发至只读实例,减缓primary的压力,以获得更佳的性能。 物理从库只读已经是一个常识问…
-
PostgreSQL源码安装及配置(基于Pg13)
毫无疑问,在使用PostgreSQL之前,首先要安装它。 本文介绍以源码方式在RHEL7.3下的PostgreSQL13.4安装。 步骤概览 ./configure make ma…
-
PostgreSQL数据库配置大页
为了保证物理内存能得到充分的利用,避免内存空间浪费,Linux把进程当前使用的内存部分加载到物理内存里,而不使用的部分则暂不加载。PostMaster进程注册共享内存时,系统只是分…
-
PostgreSQL中的DDL支持回滚
在Oracle或MySQL中,当执行到DDL语句时,会隐式的将当前回话的事务进行一次“COMMIT”操作,因此在MySQL或Oracle中执行DDL语句时,应该严格地将DDL和DM…
-
PostgreSQL的vacuum流程
vacuum是一种维护过程,有助于PostgreSQL的持久运行,它的两个主要任务是删除死元组,以及冻结事务标识。 vacuum的作用: 1.释放,再利用更新/删除的行所占据的磁盘…
-
PostgreSQL的MVCC
基于多个旧值版本的并发控制即MVCC,就是实现一致读。 PostgreSQL为每一个事务分配一个递增的、类型为int32的整数作为唯一的事务ID,即xid。 创建一个新的快照时,将…