我正在尝试添加新列
ALTER TABLE "Cidade" ADD COLUMN "BoundBox" VARCHAR(255)
到此表:
"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
但是查询从未完成,我已经等了5分钟,什么也没发生。该表只有5,000条记录,由于它阻止了对该表的访问,我迫不及待地等待了太多时间。我有一个测试数据库(等于生产版本),并且工作非常迅速。postgres版本是9.5.6。
如果您运行的是PostgreSQL 9.6+,则可以pg_blocking_pids()用来查找锁定您的查询的PID。
pg_blocking_pids()
select pid, pg_blocking_pids(pid) as blocked_by, query as blocked_query from pg_stat_activity where pg_blocking_pids(pid)::text != '{}';