【发布时间】:2020-06-28 04:37:55
【问题描述】:
我用的是postgresql 9.6,用psql命令执行就可以了:
select pg_cancel_backend(a.pid) from pg_locks a join pg_class b on a.relation = b.oid join pg_stat_activity c on a.pid = c.pid where c.datname = 'mydb' and a.mode like '%AccessShareLock%';
但是,当我执行以下脚本时,它会提示错误:“ERROR:cancelling statement due to user request”:
/app/postgres/pgsql/bin/psql -h "127.0.0.1" -p 6661 -U "postgres" -d "mydb" -tc "select pg_cancel_backend(a.pid) from pg_locks a
> join pg_class b on a.relation = b.oid
> join pg_stat_activity c on a.pid = c.pid
> where c.datname = 'mydb' and a.mode like '%AccessShareLock%';"
这两种方法有什么区别?
【问题讨论】:
-
可能,它需要一些权限或授权才能在shell脚本中执行?
标签: postgresql