表空间
概念:
表空间是PostgreSQL在磁盘上的一个位置,PostgreSQL在其中存储包含数据库对象(例如索引和表)的数据文件。 PostgreSQL使用表空间将逻辑名映射到磁盘上的物理位置。
默认表空间
PostgreSQL带有两个默认表空间:
pg_default tablespace存储所有用户数据。
pg_global tablespace存储所有全局数据。
使用表空间好处
控制postgresql的磁盘布局,
优点,如果初始化集群的分区空间不足,可以在其他的分区上创建新的表空间,并使用它,直到重新分配的系统使用完为止。
其次,可以使用数据库对象使用情况的统计信息来优化数据库的性能。例如,您可以将频繁访问索引或表放置在执行速度非常快的设备(例如固态设备)上,然后将包含存档数据的表放到速度较慢的设备上很少使用。
创建表空间语句
CREATE TABLESPACE tablespace_name
OWNER user_name
LOCATION directory_path;
1 创建表空间名字不要使用pg_开头 因为这是系统的预留字段。
2 默认的执行创建表空间的人拥有表空间。
3 表空间的目录必须是pg 这个用户拥有的,有读和写的权限。
4 只要表空间一旦创建,就能在上面创建数据库 和 表等数据对象。
CREATE TABLESPACE test LOCATION 'c:\data\test';