在Postgres中更改分区表的表空间

时间:2019-09-03 10:56:04

标签: postgresql partitioning tablespace

在我的数据库中,我有一个分区表,在PostgreSQL 11.2上名称为'record_partitioned'。 我想将其表空间更改为新的表空间“ fast_ssd”,以便该表中所有新生成的表都位于“ fast_ssd”表空间中。

当我尝试将表空间更改为“ fast_ssd”时。

alter table record_partitioned set tablespace fast_ssd;

我看到了:

  

ALTER TABLE

但似乎什么都没发生!我这样检查表空间:

SELECT tablespace,tablename FROM pg_tables where tablename='record_partitioned';

,输出为:

 tablespace |     tablename
------------+--------------------
            | record_partitioned

表空间不变。

1 个答案:

答案 0 :(得分:0)

没有办法对分区表执行此操作。每当创建分区时,都必须添加一个明确的TABLESPACE子句。

另一种方法是设置default_tablespace参数,但这也会影响所有其他表。