Jul*_*ams 3 sql postgresql alter-table
我正在尝试添加新列
ALTER TABLE "Cidade" ADD COLUMN "BoundBox" VARCHAR(255)
Run Code Online (Sandbox Code Playgroud)
到此表:
"Cidade"
"Id" integer not null
constraint "Cidade_PK"
primary key,
"Nome" varchar(120),
"EstadoId" integer not null
constraint "Estado_Cidade_FK"
references "Estado",
"PontoCentralLatitude" numeric,
"PontoCentralLongitude" numeric
Run Code Online (Sandbox Code Playgroud)
但是查询从未完成,我已经等了5分钟,什么也没发生。该表只有5,000条记录,由于它阻止了对该表的访问,我迫不及待地等待了太多时间。我有一个测试数据库(等于生产版),并且工作非常迅速。postgres版本是9.5.6。
如果您运行的是PostgreSQL 9.6+,则可以pg_blocking_pids()用来查找锁定您的查询的PID。
select pid, pg_blocking_pids(pid) as blocked_by, query as blocked_query
from pg_stat_activity
where pg_blocking_pids(pid)::text != '{}';
Run Code Online (Sandbox Code Playgroud)
小智 5
如果没有任何东西阻止您的查询并且查询执行很长时间并且该表有许多 DELETE 查询,请尝试清理您的表:
VACUUM (VERBOSE, ANALYZE) table_name;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5528 次 |
| 最近记录: |