在我的数据库中,我有一个分区表,在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
表空间不变。
答案 0 :(得分:0)
没有办法对分区表执行此操作。每当创建分区时,都必须添加一个明确的TABLESPACE
子句。
另一种方法是设置default_tablespace
参数,但这也会影响所有其他表。