8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

PostgreSQL 分区错误:错误:无法为分区关系指定默认表空间

Rahi c 1月前

25 0

我正在尝试向数据库中的表添加分区。以下是示例:CREATE TABLE IF NOT EXISTS myBd.test_table ( id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NO...

我正在尝试向数据库中的表添加分区。以下是示例:

CREATE TABLE IF NOT EXISTS myBd.test_table 
(
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT NOT NULL
) PARTITION BY hash (id);

但是,我收到以下错误:

错误:无法为分区关系指定默认表空间

我了解数据库管理员已更改默认表空间。运行以下命令后:

SELECT datname, dattablespace 
FROM pg_database 
WHERE datname = 'myDb';

我得到:

dattablespace = 16000

我该怎么做才能创建分区表?我没有权限更改默认表空间。

谢谢你!

帖子版权声明 1、本帖标题:PostgreSQL 分区错误:错误:无法为分区关系指定默认表空间
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Rahi c在本站《sql》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 文档

    这样创建的分区在各方面都是正常的 PostgreSQL 表(或者可能是外部表)。可以为每个分区分别指定表空间和存储参数。

    它提供了一个明确指定表空间的示例,如我们所见:

    CREATE TABLE measurement_y2007m12 PARTITION OF measurement
        FOR VALUES FROM ('2007-12-01') TO ('2008-01-01')
        TABLESPACE fasttablespace;
    

    因此,如果您无权指定默认值 tablespace 并且您没有访问权限,请确保您有权访问 tablespace 并将其指定为您的 tablespace .

  • 我不太明白。我在创建分区表本身时遇到了问题。因此,我想这样做:CREATE TABLE service.test_table (.....) PARTITION BY hash (id);(这里我收到一个错误)然后我计划创建分区本身:BEGIN FOR i IN 0..9 LOOP EXECUTE format('CREATE TABLE service.test_table_p%s PARTITION OF service.test_table FOR VALUES WITH (MODULUS 10, REMAINDER %s);', i, i); END LOOP; END

返回
作者最近主题: