【问题标题】:postgresql return error : ERROR: canceling statement due to user requestpostgresql 返回错误:错误:由于用户请求而取消语句
【发布时间】: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


【解决方案1】:

两种方法都执行相同的语句,因此最终结果是相同的。但是,当您使用 psql 命令时,您可以直接从 shell 执行。第一个命令要求您已经连接到 postgres。

【讨论】:

    猜你喜欢
    • 2012-10-18
    • 1970-01-01
    • 2013-01-13
    • 2016-11-25
    • 2019-04-13
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多