postgresql - 更改列会锁定 postgresql 中的表吗?
问题描述
需要帮助解决这个问题。尝试谷歌搜索,但没有找到具体的答案。
像这样更改 PostgreSQL 中的表会锁定表吗?
ALTER TABLE public.account ALTER COLUMN type acc_type VARCHAR(16) USING acc_type::VARCHAR(16);
解决方案
是的,这必须采取访问排他锁,因为元数据会发生变化。根据之前的数据类型,这将是一个非常快的操作(例如,它varchar(10)
之前)或非常慢的操作(如果之前的类型不是二进制兼容的)。
推荐阅读
- sql - ORACLE - 根据提供的输入日期范围扩展日期范围
- java - java找到最长的非重复子串-得到奇怪的结果
- c - C 程序的输出中出现无法解释的字符
- java - DB2 insert performance
- python - Python startswith 不匹配相同的字符串
- hive - 如何将数据从 hdfs 表导入 hive 中的嵌套分区表?
- python - 在不使用 for 循环的情况下迭代不规则张量切片
- excel - 加载自定义功能区下拉列表 Excel
- flutter - “PermissionGroup”不能分配给参数类型“列表”
'颤动 - statistics - Julia 中的多项式回归 - glm