当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PostgreSQL DROP TABLESPACE用法及代码示例


在 PostgreSQL 中,DROP TABLESPACE语句用于删除表空间。

用法:DROP TABLESPACE [IF EXISTS] tablespace_name;

让我们分析以上语法:

  • 第一的指定要删除的表空间的名称删除表空间关键字。
  • 其次,使用如果存在在表空间不存在的情况下处理错误的选项。

注意:需要注意的是,只有表空间所有者或超级用户才能执行删除表空间陈述。

例:

第一的我们创建一个名为的新表空间GFG 并将其映射到 C:\数据\gfg目录:



CREATE TABLESPACE gfg
LOCATION 'C:\data\gfg';

现在创建一个数据库命名db_gfg并将其表空间设置为GFG

CREATE DATABASE db_gfg 
TABLESPACE = gfg;

现在创建一个新表命名测试在里面db_gfg并设置它表空间GFG

CREATE TABLE test (
    ID serial PRIMARY KEY,
    title VARCHAR (255) NOT NULL
) TABLESPACE gfg;

以下语句返回所有对象GFG 表空间:

SELECT
    table_space.spcname,
    class.relname
FROM
    pg_class class
JOIN pg_tablespace table_space 
    ON class.reltablespace = table_space.oid
WHERE
    table_space.spcname = 'gfg';

这将导致以下情况:

现在,如果您尝试删除GFG表空间:

DROP TABLESPACE gfg;

这将引发以下错误:

由于 gfg 表空间不为空,因此无法删除该表空间。现在,登录到 Postgres 数据库并删除 db_gfg 数据库:

DROP DATABASE db_gfg;

现在删除GFG再次表空间:

DROP TABLESPACE gfg;

现在使用以下命令检查表空间以进行验证:

\db+

输出:

相关用法


注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 PostgreSQL – DROP TABLESPACE。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。