当前位置:   article > 正文

PostgreSQL表空间的创建修改和删除_pg创建表空间

pg创建表空间

介绍

“表空间”支持把不同的数据库、数据表,放在不同的存储介质或不同的文件系统下。比如我们可以将频繁更新、查询的表放在高速存储介质中(固态硬盘)以提高数据查询的速度,将查询、更新操作不频繁的表放置在机械硬盘中。

创建表空间

语法

CREATE TABLESPACE tablespace_name

[OWNER{new_owner|CURRENT_USER|SEEION_USER}]

LOCATION 'directory'

[WITH (tablespace_option=value[,...])]

语法中,大写字符是关键字,小写字符是自定义的名称和路径

参数说明:

  1. tablespace_name:自定义的表空间名称。表空间名称不能以“pg_”开头,这些名称为系统表空间预留
  2. user_name:表空间所属用户名称。如果语句中没有指定user_name,则默认执行该语句的用户即为所属用户
  3. directory:表空间对应的路径。该路径必须是空目录,而且属于执行该命令的系统用户。在PostgreSQL数据目录的根目录下,有一个以“pg_tblspc”命令的路径。在该路径下存储着到表空间对应路径的符号链接。因此只能在支持符号链接的系统上使用表空间。
  4. tablespace_option:设置或重置表空间参数。目前有三个参数可以设置
    1. seq_page_cost: 在磁盘上按顺序扫描获取一个页面的代价,默认值是1.0
    2. random_page_cost: 在磁盘上随机扫描获取一个页面的代价,默认值是4.0
    3. effective_io_concurrency: 可以执行并发异步磁盘I/O的数量

实例:

create tablespace wxz_space owner wxz location '/highgo/wxz_space';

查看表空间

\db

创建表空间后,会在“$PGDATA/pg_tblspc”目录下产生一个符号链接

其中"90215"是表空间wxz_space的对象标识符(OID),该链接指向表空间的路径

在执行CREATE DATABASE、CREATE TABLE、CREATE INDEX或ADD CONSTRAINT命令时可以指定表空间,以便将这些对象存储在特定的表空间上

修改表空间

语法:

ALTER TABLESPACE name RENAME TO new_name

ALTER TABLESPACE name OWNER TO{new_owner|CURRENT_USER|SEEION_USER}

ALTER TABLESPACE name SET (tablespace_option=value[,...])

ALTER TABLESPACE name RESET (tablespace_option=value[,...])

删除表空间

语法

DROP TABLESPACE [IF EXISTS] name

只有表空间的所属用户或超级用户才可以删除该表空间。在删除表空间之前,必须保证其上所有的数据库对象已经被清空。如果仍然有数据文件放在该表空间上,则DROP命令执行失败。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/256286
推荐阅读
相关标签
  

闽ICP备14008679号