更改列是否会锁定 postgresql 中的 table?

Does altering a column will lock the table in postgresql?

需要帮助解决这个问题。尝试谷歌搜索,但没有找到具体答案。

像这样在 PostgreSQL 中更改 table 是否会锁定 table?

ALTER TABLE public.account ALTER COLUMN type acc_type VARCHAR(16) USING acc_type::VARCHAR(16);

是的,因为元数据发生变化,所以必须使用访问排他锁。根据之前的数据类型,这将是一个非常快的操作(例如,它之前是 varchar(10))或一个非常慢的操作(如果以前的类型不是二进制兼容的)。