Sqlalchemy 炼金术中的锁

Sqlalchemy 炼金术中的锁,sqlalchemy,locks,Sqlalchemy,Locks,我正在使用SQLAlchemy使用Python应用程序对POSGRESQLDB进行事务处理。 我不知道如何在SQLAlchemy中使用锁 任何人都可以帮我在炼金术中使用锁 我面临的问题如下: 在并行运行应用程序的两个实例时,它尝试将行插入到同一个表中。有时我会得到重复的主键错误。我可以用锁的概念来解决这个问题吗 致以最良好的祝愿, Suji为了明确使用锁,您可以利用引擎或连接向数据库发出原始SQL: engine.execute('LOCK TABLES tablename WRITE') #做

我正在使用SQLAlchemy使用Python应用程序对POSGRESQLDB进行事务处理。 我不知道如何在SQLAlchemy中使用锁

任何人都可以帮我在炼金术中使用锁

我面临的问题如下:

在并行运行应用程序的两个实例时,它尝试将行插入到同一个表中。有时我会得到重复的主键错误。我可以用锁的概念来解决这个问题吗

致以最良好的祝愿,
Suji

为了明确使用锁,您可以利用
引擎
连接
向数据库发出原始
SQL

engine.execute('LOCK TABLES tablename WRITE')
#做你的事。。。。
engine.execute('UNLOCK TABLES'))

您是如何构造主键的?您的问题似乎与锁定无关,因为您试图插入同一行两次。