我不确定如何使用relation X does not exist
函数重置POSTGRESQL中的序列。所有文档只提到以下语法(表)_(sequencename)_seq,但我一直收到错误,我尝试schema name.(table)_(sequencename)_seq
的任何组合中的这种关系。
我还尝试了以下内容:customers_pkey
。
在Constraints下表的属性中,我看到主键名为id
,相关列为('columns before conversion', [[u'id', u'binary(16)', u'NO', u'PRI', None, u''],
[u'person_id', u'varchar(255)', u'NO', u'', None, u''], [u'ident_id', u'varchar(255)', u'NO', u'', None, u''],[u'seller_id', u'binary(16)', u'YES', u'MUL', None, u''], [u'inserted_at', u'datetime', u'NO', u'', None, u'']])
。
请在我的初始问题中找到其他背景信息:
以下是通过我正在运行的脚本检索到的Customers表的摘录。基本上,这个服务从我们的生产中检索元数据和数据,然后将它摄入Postgresql数据库(请注意主键是Binary类型):
[OrderedDict([('name', u'id'), ('type_', <class 'sqlalchemy.sql.sqltypes.Unicode'>), ('nullable', False), ('default', None), ('autoincrement', False), ('primary_key', True), ('unique', False)]), OrderedDict([('name', u'person_id'), ('type_', <class 'sqlalchemy.sql.sqltypes.String'>), ('nullable', False), ('default', None), ('autoincrement', False), ('primary_key', False), ('unique', False)]), OrderedDict([('name', u'ident_id'), ('type_', <class 'sqlalchemy.sql.sqltypes.String'>), ('nullable', False), ('default', None), ('autoincrement', False), ('primary_key', False), ('unique', False)]), OrderedDict([('name', u'seller_id'), ('type_', <class 'sqlalchemy.sql.sqltypes.Unicode'>), ('nullable', True), ('default', None), ('autoincrement', False), ('primary_key', False), ('unique', False)]), OrderedDict([('name', u'inserted_at'), ('type_', <class 'sqlalchemy.sql.sqltypes.DateTime'>), ('nullable', False), ('default', None), ('autoincrement', False), ('primary_key', False), ('unique', False)])])
这是使用sqlalchemy转换后的元数据以适合POSTGRESQL:
new model
我收到的错误是:
(psycopg2.IntegrityError)重复键值违反唯一 约束“customers_pkey” 详情:Key(id)=(aion} { } HQDAS 987)已经存在
错误很奇怪,因为每次运行导入脚本时都会完全删除此表,然后自动从头开始创建表。 我正在寻找重置序列作为一个测试,以检查是否以某种方式,即使表被删除,序列被保存在内存/缓存中,这就是为什么错误被提出的原因。
否则我在这里不知所措。
由于