Amazon RDS Postgresql未分配主键

时间:2017-05-18 21:34:57

标签: postgresql amazon-web-services amazon-ec2 amazon-rds

我使用亚马逊的数据库迁移工具从EC2上的Postgresql数据库迁移到RDS实例。

我的应用程序在Python 3.4上使用sqlalchemy。自迁移以来,尝试向数据库添加新数据会导致错误sqlalchemy.exc.IntegrityError: (psycopg2.IntegrityError) null value in column "id" violates not-null constraint

我在pg_admin中检查了数据库,并在表格中显示ALTER TABLE public.users ADD COSTRAINT users_pkey PRIMARY KEY(id);作为users_pkey约束。

应用程序能够无错误地读取数据和修改现有数据。

1 个答案:

答案 0 :(得分:0)

@stdunbar指出了我正确的方向,谢谢。

我不确定这是否是一个完整的答案"但是花了很多时间才找到问题的解决方案。

@studunbar指出我看一下RDS数据库中反映的内容。文档暗示了这一点,但它没有我 - DMS不会复制任何序列,索引或外键关系。我尝试使用架构迁移工具在事实之后执行此操作,它只是清除了我的数据。使用之前阻止了我的迁移脚本运行。

可能这是用户错误。但我的解决方法是使用pg_dump和pg_restore进行迁移,完全绕过DMS。我意识到这只适用于PostgreSQL。

公平地说,AWS文档会尽可能简要地建议使用本机工具。