0

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

ALTER TABLE "foos" ADD COLUMN "bar" boolean DEFAULT 'f'

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

默认值会使其变慢吗?

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

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

4

1 回答 1

1

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

  • 如果表很大,有很多行数据,这可能需要相当长的时间。
  • 如果另一个连接当前对表有更高优先级的锁,这个动作将等待锁被清除

要了解有关 PostgreSQL 9.1 的更多信息,请查看优秀的在线文档,尤其是ALTER TABLE部分

此外,是一个相关的问题,尽管是针对 MySQL 的。它提供了一些可以应用于 PostgreSQL 的提示和技巧

于 2012-12-05T17:50:58.093 回答