PostgreSQL DBA(55) - MVCC#8(对全表扫描的影响)
本节内容来源于PGer的一个问题:Q:由于多版本的存在,那么全表扫描是不是需要更长的时间了呢? A:关于全表扫描,不妨考虑2种极端的情况:1.insert数据(事务已提交,下同),没有执行update/delete,没有dead tuple,全表扫描效率没有影响;2.insert数据,执行了大量的update/delete,同时禁用了autovacuum也没有手工执行vacuum,那么存在大量的
PostgreSQL 源码解读(209)- 隐式类型转换(func_select_candidate)
本节简单介绍了PostgreSQL隐式类型转换中选择操作符(pg_operator)的实现函数func_select_candidate. 一、数据结构FuncCandidateList该结构体存储检索得到的所有可能选中的函数或操作符链表. /* * This structure holds a list of possible functions or operators *
PostgreSQL DBA(54) - PG 12 Generated columns
本节简单介绍了PostgreSQL 12中的generated columns.在其他数据库中,generated columns又被成为计算列(calculated columns)/虚拟列(virtual columns)等.
PostgreSQL DBA(53) - Index(BRIN)
本节简单介绍了PostgreSQL中的BRIN索引,包括BRIN索引的基础知识和结构等.
PostgreSQL DBA(52) - Index(RUM)
本节简单介绍了PostgreSQL中的RUM索引,包括RUM索引的基础知识和结构等.
Challenges preventing us moving to 64 bit transaction id (XID)?
Q:Hi Pg Hackers, XID wraparound seems to be quite a big concern and we introduce changes like “adding another frozen bit to each page” [http://rhaas.blogspot.com/2016/03/no-more-full-table-vacuums.ht
PostgreSQL DBA(51) - Index(GIN)
本节简单介绍了PostgreSQL中的GIN索引,包括GIN索引的基础知识和结构等.GIN索引的主要用处是加快全文检索full-text search的速度.
PostgreSQL DBA(50) - Administrator Account WITH NOLOGIN
本节简单介绍了PostgreSQL中在忘记密码或者无权限登录数据库时如何recover administrator.
PostgreSQL DBA(49) - Index(SP-GiST)
本节简单介绍了PostgreSQL中的SP-GiST索引,包括SP-GiST索引的基础知识和结构等.
PostgreSQL DBA(48) - Index(GiST)
本节简单介绍了PostgreSQL中的GiST索引,包括GiST索引的基础知识和结构等.
PostgreSQL 源码解读(208)- 查询#121(Valid OUTER JOIN Optimizations)
Valid OUTER JOIN OptimizationsOUTER JOIN 优化手段 The planner’s treatment of outer join reordering is based on the followingidentities:规划器基于以下恒等式处理外连接: 1. (A leftjoin B on (Pab)) innerjoin C on (Pac)
PostgreSQL DBA(47) - Index(Btree)
本节简单介绍了PostgreSQL中的Btree索引,包括Btree的基本结构/NULL值处理/自定义类型支持等相关信息.
PostgreSQL DBA(46) - PG Operator classes and families
先前章节已简单提到pg_am,以hash为例介绍了hash index不能支持大于等于,小于等于等相关操作,我们了解到需要信息来确认访问方法接受哪些数据类型和哪些操作符.
PostgreSQL DBA(45) - Hypothetical Indexes in PostgreSQL
本文简单介绍了PostgreSQL的Hypothetical Indexes
PostgreSQL DBA(44) - Privileges & User Management - What You Should Know
本文简单介绍了PostgreSQL的权限和用户管理基础知识,原文详见PostgreSQL Privileges & User Management - What You Should Know,有所删减和调整. RolesPostgreSQL使用基于角色的权限管理系统.PostgreSQL中的用户user和角色role是一回事,区别是在创建用户时具备了LOGIN权限而角色没有,因此以下不
PostgreSQL DBA(43) - Index(Hash)
PostgreSQL支持Hash索引,本节简单介绍Hash索引的结构等相关信息.
PostgreSQL DBA(42) - locale
PostgreSQL在使用initdb初始化数据库时,提供了"本地化"的参数locale,如不指定该参数则默认为空,即使用OS的locale设定.
PostgreSQL DBA(41) - PG Index Properties
在PostgreSQL 9.6之后,PG提供了三个函数来判定Index AM/Index/Index Column是否具备某些属性,包括pg_indexam_has_property/pg_index_has_property/pg_index_column_has_property.
PostgreSQL 源码解读(207)- 查询#120(数据结构FromExpr&JoinExpr)
本节简单介绍了PostgreSQL在执行逻辑优化中相关的数据结构,包括FromExpr&JoinExpr.
Oracle vs PostgreSQL,研发注意事项(12) - NULL与索引
Oracle在创建索引时,不会存储NULL值,而PostgreSQL在创建索引时则会存储NULL值.在查询时,如使用Column is null这样的条件查询,Oracle不会使用索引而PostgreSQL则会使用索引.