Postgre使用
- 查看正在执行的SQL
SELECT procpid, start, now() - start AS lap, current_query
FROM
(SELECT backendid, pg_stat_get_backend_pid(S.backendid) AS procpid,
pg_stat_get_backend_activity_start(S.backendid) AS start,
pg_stat_get_backend_activity(S.backendid) AS current_query
FROM
(SELECT pg_stat_get_backend_idset() AS backendid) AS S
) AS S
WHERE current_query <> '<IDLE>'
ORDER BY lap DESC;
procpid:进程id
start:进程开始时间
lap:经过时间
current_query:执行中的sql
--------------
select * from pg_stat_activity where state = 'active' and usename = 'gf_app' order by query_start limit 1; ---慢查询
select * from pg_stat_activity where state = 'active' and query like '%CREATE INDEX%';
select datname,query from pg_stat_activity where state = 'active' and backend_start < '2021-08-31 14:27';
---------------
2.怎样停止正在执行的sql
SELECT pg_cancel_backend(进程id);
SELECT pg_terminate_backend(PID);
或者用系统函数 kill -9 进程id;
3.任务重跑过程中正在建索引,在调度杀掉后还需要干预db
4.ERROR: execute cannot be used while an asynchronous query is underway。断开连接重新执行
4.查看表结构:
SELECT
a.attname as 字段名,
format_type(a.atttypid,a.atttypmod) as 类型,
a.attnotnull as 非空,
col_description(a.attrelid,a.attnum) as 注释
FROM pg_class as c,pg_attribute as a
WHERE
a.attrelid = c.oid
and a.attnum>0
and c.relname = '表名';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~