Bootstrap

postgres show processlist 查看进程 锁表情况

# mysql show processlist;
> show processlist;


# psql 查询正在执行的sql
> SELECT pid, datname AS db, query_start AS start, now() - query_start AS lap, query FROM pg_stat_activity WHERE state <> 'idle' and query not like '%pg_stat_activity%'
 and (now() - query_start) > interval '10 seconds';
# psql 
# kill正在执行的sql
# kill有两种方式,第一种是:这种方式只能kill select查询,对update、delete 及DML不生效)
> SELECT pg_cancel_backend(PID);

# 第二种是:这种可以kill掉各种操作(select、update、delete、drop等)操作
> SELECT pg_terminate_backend(PID);

mysql与psql常用命令对比
项目MySQLPSQL
1. 列出所有的数据库show databases;\l 或者 \list
2. 切换数据库use <库名>;\c <库名>
3. 列出当前库下数据表show tables;\d
4. 列出表的字段desc <表名>;\d <表名>
5. 查看某个表的进程SELECT * FROM pg_stat_activity where query ~ '表名';
6.结束进程select pg_terminate_backend('<进程pid>');

;