评论和答案为“将数据加载到PostGIS的失败,因为对主键非空约束” https://knowledge.亚搏在线safe.com/questions/89764/loading-data-into-postgis-fails-because-of-not-nul.html 对于这个问题的最新意见和答案“将数据加载到PostGIS的失败,因为对主键非空约束” 通过jarrenverbeek评论 https://knowledge.亚搏在线safe.com/comments/89953/view.html

我的解决方案,这似乎已经奏效是删除旧的FID和手工创建它,且不会与主键列在使用BIGSERIAL的数据类型。在FME我码的手动添加列“名称”使用串行作为“类型”的FME PostGIS的作家的“用户属性” FID。

我用下面的SQL语句。

CREATE SEQUENCE mytable_fid_seq;ALTER TABLE MYTABLE ADD COLUMN FID BIGINT DEFAULT NEXTVAL( 'mytable_fid_seq');归mytable.fid ALTER SEQUENCE mytable_fid_seq;ALTER TABLE MYTABLE ADD PRIMARY KEY(FID);


不过,我需要使用现有表,以及在那里我宁愿不新分配FID值,但保留旧的。有什么建议么?

星期二,2019年4月9日十四时17分39秒GMT jarrenverbeek
评论由jarrenverbeek上jarrenverbeek的答案 https://knowledge.亚搏在线safe.com/comments/89952/view.html

谢谢你的建议。我尝试都保持在作家FID和我试着删除它,在这两种情况下,该方法失败。


不过我试过@arnebrucksch而有一些事情要注意。BIGSERIAL不是数据类型,只是一个快捷方式创建序列。不过,我手动创建一个序列,他建议和分配的主键到此序列。现在FME不再抛出错误。

星期二,2019年4月9日14点17分29秒GMT jarrenverbeek
通过david_r回答 https://knowledge.亚搏在线safe.com/answers/89786/view.html 周五,2019年4月5日14时44分28秒GMT david_r