Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何在不锁定表的情况下插入/删除/更新表_Postgresql_Locking - Fatal编程技术网

Postgresql 如何在不锁定表的情况下插入/删除/更新表

Postgresql 如何在不锁定表的情况下插入/删除/更新表,postgresql,locking,Postgresql,Locking,场景:我有一个一天可以访问多次的表 用户在此表中更新/删除/插入/选择,有时当有人同时执行两个或多个操作时,它会锁定该表,任何访问该表的尝试都会崩溃,无论我们使用什么方法访问该表 有我可以使用的锁设置吗 我很想知道其他人是如何处理这种情况的 编辑1:对于我最近的锁定,涉及update和select语句。没有删除或插入。DML语句INSERT、UPDATE和DELETE不会锁定表。你需要提供更多关于你到底在做什么的细节。你的问题。请勿将代码放入注释如果有人同时执行更新和删除操作,则不会锁定表?不,

场景:我有一个一天可以访问多次的表

用户在此表中更新/删除/插入/选择,有时当有人同时执行两个或多个操作时,它会锁定该表,任何访问该表的尝试都会崩溃,无论我们使用什么方法访问该表

有我可以使用的锁设置吗

我很想知道其他人是如何处理这种情况的


编辑1:对于我最近的锁定,涉及update和select语句。没有删除或插入。

DML语句INSERT、UPDATE和DELETE不会锁定表。你需要提供更多关于你到底在做什么的细节。你的问题。请勿将代码放入注释如果有人同时执行更新和删除操作,则不会锁定表?不,不会锁定表。如果更新和删除在同一行上完成,则该行的删除将被阻止,直到完成更新的事务完成。但其他只选择或尝试更改不同行的语句不受影响。没有for update的普通select语句永远不会被DELETE、update或INSERT语句阻止