CREATE OR REPLACE FUNCTION add_() RETURNS void AS
$BODY$
declare
foo int;
BEGIN
FOR i IN 1..50 LOOP
foo = i;
RAISE NOTICE 'combination_array(%)', foo ;
UPDATE table_1 set r_id = foo WHERE id = (select id from table_1 where r_id is null order by id limit 1);
END LOOP;
END; $BODY$ LANGUAGE 'plpgsql' ;
SELECT add_();
执行此操作后执行
UPDATE table_1
set r_id = foo
WHERE id = (select id from table_1 where r_id is null order by id limit 1);
END LOOP;
它会忙于任何人告诉我如何清除pgsql中的拉力
答案 0 :(得分:4)
它返回与ids的所有连接
SELECT * from pg_stat_activity;
您可以通过procpid终止特定连接,但请遵循以下查询。
select pg_terminate_backend(procpid)
from pg_stat_activity
where datname = 'database-name'
答案 1 :(得分:0)
您可以向此忙碌的连接后端进程发送信号。
要取消正在运行的查询,请将SIGINT信号发送到运行该命令的进程。要干净地终止后端进程,请将SIGTERM发送到该进程。
表示exp:
pg93@db-172-16-3-150-> psql
psql (9.3.3)
Type "help" for help.
digoal=# select pg_sleep(1000000);
-- find the pid
-- ps -ewf|grep postgres
pg93 24872 23190 0 00:11 ? 00:00:00 postgres: postgres digoal [local] SELECT
-- send signal
pg93@db-172-16-3-150-> kill -s SIGINT 24872
-- then we see that feedback from psql.
ERROR: canceling statement due to user request