Sql 哪些ALTER TABLE命令将使用或赢得';你不需要桌子锁吗?

Sql 哪些ALTER TABLE命令将使用或赢得';你不需要桌子锁吗?,sql,postgresql,Sql,Postgresql,在postgres 9.1中,此查询是否需要表锁?(禁止其他客户书写或书写和阅读) 在某些情况下它会,在某些情况下它不会 默认值是否会使速度变慢 如果它确实锁定了表,它是否还必须对表中的每一行进行操作?或者锁只会保持一秒钟 在哪里可以了解有关哪些类型的查询可以锁定和不锁定表的更多信息?是的,在进行修改时,它将锁定表 如果表很大,有很多行数据,这可能需要一段时间 如果另一个连接当前在表上具有更高优先级的锁,则此操作将等待该锁被清除 要了解更多关于PostgreSQL 9.1的信息,请查看上的部

在postgres 9.1中,此查询是否需要表锁?(禁止其他客户书写或书写和阅读)

在某些情况下它会,在某些情况下它不会

默认值是否会使速度变慢

如果它确实锁定了表,它是否还必须对表中的每一行进行操作?或者锁只会保持一秒钟


在哪里可以了解有关哪些类型的查询可以锁定和不锁定表的更多信息?

是的,在进行修改时,它将锁定表

  • 如果表很大,有很多行数据,这可能需要一段时间
  • 如果另一个连接当前在表上具有更高优先级的锁,则此操作将等待该锁被清除
要了解更多关于PostgreSQL 9.1的信息,请查看上的部分


另外,对于MySQL来说,这也是一个相关的问题。它提供了一些可以应用于PostgreSQL的提示和技巧

PostgreSQL和MySQL中的锁定非常不同,您无法在锁定行为方面比较这两个数据库。什么在PostgreSQL中只需一秒钟,在MySQL中只需数小时。。。这就是为什么我们把MySQL抛在后面。@FrankHeikens您能在回答中详细说明一下吗?我在上面的问题中添加了一些更具体的问题。@FrankHeikens不管mysql和PG之间的锁定机制有多不同,锁定仍然会在op的问题下发挥作用。
ALTER TABLE "foos" ADD COLUMN "bar" boolean DEFAULT 'f'