PostgreSQL数据库锁表查询

 

--执行时间超过 10s 的语句
select * from pg_stat_activity where state<>'idle' and Now()-query_start > interval '10 s'
--锁表
SELECT * FROM pg_stat_activity where datname='bms' and wait_event_type='Lock'--limit 10

 

--将进程杀掉
select pg_cancel_backend("死锁那条数据的pid值")
--运行完后,再次刷新这个表,sql就可顺利执行。
select pg_cancel_backend(27280);

 

--数据库 整理 查询查询元组情况)
SELECT
c.relname 表名,
(current_setting('autovacuum_analyze_threshold')::NUMERIC(12,4))+(current_setting('autovacuum_analyze_scale_factor')::NUMERIC(12,4))*reltuples AS 自动分析阈值,
(current_setting('autovacuum_vacuum_threshold')::NUMERIC(12,4))+(current_setting('autovacuum_vacuum_scale_factor')::NUMERIC(12,4))*reltuples AS 自动清理阈值,
reltuples::DECIMAL(19,0) 活元组数,
n_dead_tup::DECIMAL(19,0) 死元组
FROM
pg_class c

LEFT JOIN pg_stat_all_tables d

ON C.relname = d.relname
WHERE
c.relname LIKE'tb%' AND reltuples > 0
AND n_dead_tup > (current_setting('autovacuum_analyze_threshold')::NUMERIC(12,4))+(current_setting('autovacuum_analyze_scale_factor')::NUMERIC(12,4))*reltuples;

 

--修改密码--重建索引
alter user bms_select with password 'QD6eXed6'
alter user bms_report with password 'Ucj1UW3BriA2KlW'
REINDEX INDEX idx_business_time

 

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...