PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。 Part 5:PG数据库结构 内容1:PostgreSQL逻辑结构 内
postgres 自带了两个表空间,pg_default, pg_global 表空间pg_default是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间。对应存储目录$PADATA/base/ 表空间pg_global用来存放系统字典表;对应存储目录$PADATA/global/ pg_tblspc 就是表空间,初始是空的,当手动增加表空间时,...
PG物理上引入了tablespace(表空间)的概念,它的作用是用于指定表的存储路径。系统默认的tablespace为pg_default,用户也可以自定义tablespace。如上图所示,pg_global tablespace的映射到路径是$PGDATA/global;pg_default 会映射到 $PGDATA/base/;用户自定义的tablespace 会映射到 $PGDATA/pg_tblspc/目录下,然后...
PG物理上引入了tablespace(表空间)的概念,它的作用是用于指定表的存储路径。系统默认的tablespace为pg_default,用户也可以自定义tablespace。 如上图所示,pg_global tablespace的映射到路径是$PGDATA/global;pg_default 会映射到 $PGDATA/base/;用户自定义的tablespace 会映射到 $PGDATA/pg_tblspc/目录下,然后创建一...
pg_global表空间的物理文件位置在数据目录的global目录中,它用来保存系统表。 pg_default表空间的物理文件位置在数据目录的base子目录中,是template0和template1数据库的默认表空间。 创建数据库时,默认从template1数据库进行克隆,因此除非特别指定了新建数据库的表空间,否则默认使用template1使用的表空间,即pg_default表...
默认表空间:pg_default ,是用户表、用户表index、和临时表、临时表index、内部临时表的默认空间。对应文件系统目录$PADATA/base/。 系统字典表表空间:pg_global,存放系统字典表,如pg_database、pg_authid、pg_tablespace等表以及它们的索引。对应文件系统目录$PADATA/global/。
初始化数据库后默认的表空间有pg_default、pg_global。 pg_global表空间的物理文件位置在数据目录的global目录中,它用来保存系统表。 pg_default表空间的物理文件位置在数据目录的base子目录中,是template0和template1数据库的默认表空间。 创建数据库时,默认从template1数据库进行克隆,因此除非特别指定了新建数据库的...
数据库集群初始化时会自动创建两个表空间。 pg_global 表空间用于共享系统目录。 pg_default 表空间是 template1 和 template0 数据库的默认表空间(因此,也将是其他数据库的默认表空间,除非被 CREATE DATABASE 中的 TABLESPACE 子句覆盖)。 创建后,只要请求用户具有足够的权限,就可以从任何数据库使用表空间。这意...
pg_class 表参考 主数据文件(具体介绍请看第三节堆表文件的内部布局) FSM(FREE SPACE MAP) - 空闲空间映射文件 存储相应表或索引文件中每个页面上的空闲空间信息。hash索引除外 详情可查看src/backend/storage/freespace/README 可使用扩展pg_freespace查看特定表或索引上的空闲空间信息。
系统默认的tablespace为pg_default,用户也可以自定义tablespace。 如上图所示,pg_global tablespace的映射到路径是$PGDATA/global;pg_default 会映射到 $PGDATA/base/;用户自定义的tablespace 会映射到 $PGDATA/pg_tblspc/目录下,然后创建一个符号链接到实际的数据目录。另外,可以通过tablespace实现冷热数据分离:将热数...