真空全程运行时重启postgresql服务器是否安全?或者杀死vacuumdb进程?

时间:2017-03-25 10:52:03

标签: postgresql

我的vacuumdb正在运行,但是我不小心用statement_timeout = 0参数多次启动它,所以我担心这可能需要很长时间才能完成。

我的问题是,我可以安全地杀死theese vacuum的过程,还是在运行时重新启动服务器?

xxx=# select pid, backend_start, query_start, state_change, state, query from pg_stat_activity where application_name = 'vacuumdb' OR query like '%reload%';


pid  |         backend_start         |          query_start          |         state_change          | state  |                                                                         query                                                                          
-------+-------------------------------+-------------------------------+-------------------------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------
  1273 | 2017-03-25 13:18:48.355737+03 | 2017-03-25 13:18:56.318492+03 | 2017-03-25 13:18:56.319311+03 | idle   | select pg_reload_conf();
 32102 | 2017-03-25 13:14:26.737586+03 | 2017-03-25 13:14:26.74256+03  | 2017-03-25 13:14:26.742566+03 | active | VACUUM (FULL, VERBOSE, ANALYZE) xxx;                                                                                                  +
       |                               |                               |                               |        | 
  2693 | 2017-03-25 13:22:44.275979+03 | 2017-03-25 13:46:48.168615+03 | 2017-03-25 13:46:48.168625+03 | active | select pid, backend_start, query_start, state_change, state, query from pg_stat_activity where application_name = 'vacuumdb' OR query like '%reload%';
 31746 | 2017-03-25 13:13:07.173855+03 | 2017-03-25 13:13:07.178614+03 | 2017-03-25 13:13:07.178621+03 | active | VACUUM (FULL, VERBOSE, ANALYZE) xxx;                                                                                                  +
       |                               |                               |                               |        | 
 16923 | 2017-03-25 12:28:31.537226+03 | 2017-03-25 12:28:31.543027+03 | 2017-03-25 12:28:31.543032+03 | active | VACUUM (FULL, VERBOSE, ANALYZE) xxx;                                                                                                  +
       |                               |                               |                               |        | 
(5 rows)

1 个答案:

答案 0 :(得分:0)

只需重新启动运行vacuum的postgres即可100%安全。这适用于VACUUMVACUUM (FULL)CLUSTER

它甚至不必在开始时完全重新开始工作,它可以在重新启动之前完成一些工作。