PostgreSQL报错:Partition key of the failing...


问题说明
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)

主要思路就是创建分区表,具体语法可网上查询

注意:定义的分区表一定需要根据插入的数据的字段进行创建;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM