CREATE TABLESPACE

    注意事项

    • 不允许在一个事务块内部执行CREATE TABLESPACE。
    • 执行CREATE TABLESPACE失败,如果内部创建目录(文件)操作成功了就会产生残留的目录(文件),重新创建时需要用户手动清理表空间指定的目录下残留的内容。如果在创建过程中涉及到数据目录下的表空间软连接残留,需要先将软连接的残留文件删除,再重新执行OM相关操作。
    • CREATE TABLESPACE不支持两阶段事务,如果部分节点执行失败,不支持回滚。
    • 创建表空间前的准备工作参考下述参数说明。

    其中普通表空间的with_option_clause为:

    参数说明

    • tablespace_name

      要创建的表空间名称。

      表空间名称不能和openGauss中的其他表空间重名,且名称不能以”pg”开头,这样的名称留给系统表空间使用。

      取值范围:字符串,要符合标识符的命名规范。

    • OWNER user_name

      指定该表空间的所有者。缺省时,新表空间的所有者是当前用户。

      只有系统管理员可以创建表空间,但是可以通过OWNER子句把表空间的所有权赋给其他非系统管理员。

      取值范围:字符串,已存在的用户。

    • 使用相对路径,LOCATION目录是相对于各个数据库节点数据目录下的。

      目录层次:数据库节点的数据目录/pg_location/相对路径

      相对路径最多指定两层。

    • MAXSIZE ‘space_size’

      指定表空间在单个数据库节点上的最大值。

      取值范围:字符串格式为正整数+单位,单位当前支持K/M/G/T/P。解析后的数值以K为单位,且范围不能够超过64比特表示的有符号整数,即1KB~9007199254740991KB。

    • 指定随机读取page的开销。

      取值范围:0~1.79769e+308。

      默认值:使用GUC参数random_page_cost的值。

    • seq_page_cost

      指定顺序读取page的开销。

      取值范围:0~1.79769e+308。

      默认值:使用GUC参数seq_page_cost的值。

    相关链接

    CREATE TABLE,,DROP TABLESPACE