问题说明
postgresql插入数据时,提示如下语句:
SQL 错误 [23514]: ERROR: no partition of relation "moniter_data_min_29" found for row
Detail: Partition key of the failing row contains (data_time) = (2021-01-08 10:48:06).
问题分析
(当前postgresql的版本是10.5)经排查后发现,插入数据的表中未创建相应的分区表,导致插入的数据无法插入。
PostgreSQL 10 版本当往分区表写入的数据不在分区定义范围内时会报错,无法插入数据,PostgreSQL 11 版本分区表增加了 Default 分区用来存储不满足分区定义范围的数据。
解决办法
为插入的数据创建相应的分区表:
CREATE TABLE internal_tree_data_ct_202108 PARTITION OF internal_tree_data_ct for VALUES IN (202108)
主要思路就是创建分区表,具体语法可网上查询
注意:定义的分区表一定需要根据插入的数据的字段进行创建;