表空间概念
最大的逻辑存储单位是表空间。
初始化数据库目录时会自动创建pg_default和pg_global两个表空间。
数据库中创建的对象都保存在表空间中,例如表、索引和整个数据库都可以被分配到特定的表空间。
在创建数据库对象时,可以指定数据库对象的表空间,如果不指定则使用默认表空间,也就是数据库对象的文件的位置。
默认表空间
❑ pg_global表空间的物理文件位置在数据目录的global目录中,它用来保存系统表。
❑ pg_default表空间的物理文件位置在数据目录中的base目录,是template0和template1数据库的默认表空间,我们知道创建数据库时,默认从template1数据库进行克隆,因此除非特别指定了新建数据库的表空间,默认使用template1的表空间,也就是pg_default。
自定义表空间
❑ 通过创建表空间解决已有表空间磁盘不足并无法逻辑扩展的问题;
❑ 将索引、WAL、数据文件分配在性能不同的磁盘上,使硬件利用率和性能最大化。