問題說明
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)
主要思路就是創建分區表,具體語法可網上查詢
注意:定義的分區表一定需要根據插入的數據的字段進行創建;