您在psycopg2中遺漏了實際執行此操作的部分。 Postgres arrays不能有混合類型,因此...true,true,...正在創建錯誤。您必須更改為類似...'true','true',...或...'t','t',...的內容 As demonstration: select ARRAY['ap1-node1', true];ERROR: invalid input syntax for type boolean: "ap1-node1"LINE 1: select ARRAY['ap1-node1', true];select ARRAY['ap1-node1', 'true']; array ------------------ {ap1-node1,true} Postgres無法在第一種情況下使所有元素都是一個單一類型,因此它將第一個元素標記為與true表示的布爾類型不同。 這個(ARRAY[hstore(ARRAY['id' ...整個字段看起來像是attack_paths_attackpathprevscan的子表。