首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在对该表运行ALTER或creating触发器之前检查该表是忙还是空

如何在对该表运行ALTER或creating触发器之前检查该表是忙还是空
EN

Stack Overflow用户
提问于 2018-08-21 21:23:49
回答 2查看 346关注 0票数 0

我们有上千张桌子。在这些表中,我们只有几个表。它们有时会很忙。如果我在这些表上执行任何ALTER语句或creating trigger,我就不能这样做。如何在postgresql数据库中的表上运行ALTER或creating TRIGGER之前检查表是忙还是空。

EN

回答 2

Stack Overflow用户

发布于 2018-08-21 21:25:53

最简单的方法是运行

代码语言:javascript
复制
LOCK TABLE mytable NOWAIT;

如果没有收到错误,则ALTER TABLE语句无需等待即可继续执行。

票数 1
EN

Stack Overflow用户

发布于 2018-08-21 21:30:09

下面的查询返回数据库中的锁定对象。

代码语言:javascript
复制
select t.relname, l.locktype, page, virtualtransaction, pid, mode, granted 
  from pg_locks l, pg_stat_all_tables t 
 where l.relation=t.relid 
 order by relation asc;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51949757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档