PostgreSQL 源码解读(229)- Linux Kernel(进程虚拟内存#3)
PostgreSQL使用进程架构,每个连接对应一个后台进程,为了更好的理解这种架构,有必要深入理解进程的相关知识.本节主要介绍了Linux下的进程虚拟内存结构,并以使用C语言样例程序进行说明.
Oracle vs PostgreSQL Develop(18) - Boolean
在Oracle和PG中都可以使用int类型模拟布尔类型,但通过JDBC接口(JDBC驱动,Oracle为11.2.0.4,PG为9.3)获取出来的值却不一致,这一点需要注意。
PostgreSQL DBA(95) - PG 12 Partition(out of shared memory)
PostgreSQL 12 Beta3,创建包含8192个子分区的分区表,执行查询语句,在分区键上排序,出错。
PostgreSQL DBA(94) - PG 12 Improving Partition(Select)
PG 10在分区表上执行查询时,会逐个检查每个分区的约束来看是否需要,如果分区很多在计划阶段会有较大的性能损失。PG 11通过”partition pruning“算法来快速的标识匹配的分区来改进性能,但PG 11仍然做了一些不必要的处理比如不管是否涉及仍然加载了所有分区的元数据。 PG 12更进一步,那就是在pruning后才加载元数据,如果不涉及大多数的分区那么在计划阶段可以带来明显的性能提升。
PostgreSQL DBA(93) - PG 12 Improving Partition(Insert)
PG 11在插入分区表时,无论涉及多少个分区都会锁住每个分区,如果分区数很多,会存在性能问题.在PG 12,只需要对涉及的分区上锁,也就是说如果只插入一行,则只需要锁一个分区.这种变化还与分区元组路由代码的完全重写相结合,大大减少了在executor启动期间设置元组路由数据结构的开销。
PostgreSQL 源码解读(228)- Transaction(事务系统简介)
本节是PostgreSQL 事务管理的简要说明,翻译自README文件.
PostgreSQL 源码解读(227)- Linux Kernel(进程虚拟内存#2)
PostgreSQL使用进程架构,每个连接对应一个后台进程,为了更好的理解这种架构,有必要深入理解进程的相关知识.本节主要介绍了Linux下的进程虚拟内存结构,并以使用C语言样例程序进行说明.
CentOS 7升级内核简要说明
1.更新源 yum update rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm 2.确认目前的版本信息 uname -r 3.删除相关组件 yum remove k
PostgreSQL DBA(92) - PG 12 Improving VACUUM
VACUUM命令在PG 12有所增强,提供新的Option可供选择,本节介绍了其中一个选项:INDEX_CLEANUP
What is an SQL relation?
In SQL, a relation is a bag of objects that all share the same characteristics: a list of attributes with a known given data type.We name those objects tuples in SQL. An object with three attributes
PostgreSQL DBA(91) - PG upgrade
PostgreSQL的大版本发布周期通常为1年,而PostgreSQL 12即将发布,新版本除了修复了Bug,提供了新特性之外还对性能有所增强,对于使用旧版本但希望升级到新版本的数据库,本节介绍了PG升级的几种方法,分别是Logical Dump/restore、Binary In-Place Upgrades和Logical Replication。
PostgreSQL 源码解读(226)- Linux Kernel(进程虚拟内存#1)
PostgreSQL使用进程架构,每个连接对应一个后台进程,为了更好的理解这种架构,有必要深入理解进程的相关知识.本节主要介绍了Linux下的进程虚拟内存结构.
PostgreSQL DBA(90) - Linux(stress-ng简介)
本节简单介绍了可用于Linux平台下的压力测试工具stress-ng.
PostgreSQL DBA(89) - Linux(Buffer vs Cache)
本节简单介绍了Linux内存管理中两个容易混淆的概念:Buffer和Cache.
PostgreSQL 源码解读(225)- Transaction(子事务处理)
本节是PostgreSQL 事务管理中的关于子事务部分的说明,翻译自README文件.
PostgreSQL 源码解读(224)- Locks(The Deadlock Detection Algorithm)
本节是PostgreSQL Locks中的The Deadlock Detection Algorithm(死锁检测算法)部分,翻译自README文件.
PostgreSQL DBA(88) - Linux(CPU使用率 vs 平均负载)
Linux已成为事实上企业级服务器OS的首选,PostgreSQL在Linux上的”装机量”不在少数,在对数据库的性能进行优化和调整时,同时也必须考虑到Linux的优化和调整.本节简单介绍了Linux性能监控中的两个容易混淆的概念:CPU使用率和平均负载.日常使用中最为常见的性能监控工是top,下面
PostgreSQL DBA(88) - Linux(CPU使用率 vs 平均负载)
本节简单介绍了Linux性能监控中的两个容易混淆的概念:CPU使用率和平均负载.
PostgreSQL 源码解读(223)- Locks(Fast Path Locking)
本节是PostgreSQL Locks中的Fast Path Locking部分,翻译自README文件.
PostgreSQL 源码解读(222)- Locks(Lock Manager Internal Locking)
本节是PostgreSQL Locks中的Lock Manager Internal Locking部分,翻译自README文件.