postgresql - postgresql 错误 [42P17]:错误:尝试从父表创建子表时,“eMAR_201501”未分区
问题描述
我正在尝试创建现有表的分区,它说分区未启用我该如何修复它。基本上我想创建一个非常大的现有表的分区,让我知道我该怎么做,我也不能使用这个选项启用分区
这就是我创建分区的方式
CREATE TABLE public."eMAR_2012" PARTITION OF public."eMAR_201501"
FOR VALUES FROM ('2012-01-01 12:00 AM') TO ('2019-12-31 11:59 PM');
解决方案
您不能只将分区添加到非分区表。如果要对现有数据重新分区,您唯一能做的就是创建一个带有所需分区的空分区表,然后将数据从非分区表复制到分区表。
如果所有现有数据都可以放入单个分区,您可以将现有表重命名为不同的名称,使用“旧”表名创建一个新的分区表,然后将现有表作为分区附加到新的创建分区表。如果实施分区以快速删除旧/过时的行,这通常使用。
但同样:如果现有数据需要分布在多个分区之间,唯一的方法是将数据从旧的非分区表复制到分区表中。
推荐阅读
- c# - c#在data.txt中保存到txt和换行的问题
- python - Gurobi Python 错误(NoneType 没有 len())
- encryption - 加密现有存储桶及其对象
- .htaccess - .htaccess 多个重写规则冲突
- sql - 根据 3 个表中值的出现次数选择第 n 顶行
- python - 理解 Django Permissions 的 QuerySet
- python-3.x - Python - 如何从另一个新修改的 Python 文件中调用类方法
- sql - 将一列的多行转换为多列(动态)
- java - xmlgregoriancalendar 哈希码不处理毫秒
- python - 如何使用 selenium 将多个字符串列表迭代地输入到多个搜索框中?