是因为同时更新事物失误。
创新互联公司2013年至今,先为台儿等服务建站,台儿等地企业,进行企业商务咨询服务。为台儿企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
通常在数据库中最小粒度的锁是行锁,当一个事务正在更新某条记录时,另一个事务如果要更新同一条记录(或者申请这一条记录的锁),则必须等待锁释放。
通常持锁的时间需要保持到事务结束,也就是说,如果一个长事务持有了某条记录的锁,其他会话要持有这条记录的锁,可能要等很久。
--查询是否锁表了
1、select oid from pg_class where relname='可能被锁掉的表的表名'
,会显示一个oid
2、select pid from pg_locks where relation='刚刚查出来的oid'
--如果查询到了结果(pid),表示该表被锁 则需要释放锁定
select pg_cancel_backend(上面查到的pid)
1、查询正在运行的进程
2、查看等待中的进程
3、释放锁定