当我停止一个仍然连接到某些会话的HAWQ实例时,它不能通过"hawq stop -a“来停止。
$ hawq stop cluster -a
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-Prepare to do 'hawq stop'
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-You can find log in:
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-/Users/wangchunling/hawqAdminLogs/hawq_stop_20160701.log
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-GPHOME is set to:
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-/usr/local/hawq
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-Stop hawq with args: ['stop', 'cluster']
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-No standby host configured
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-Stop hawq cluster
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[INFO]:-There are 1 connections to the database
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[WARNING]:-There are other connections to this instance, shutdown mode smart aborted
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[WARNING]:-Either remove connections, or use 'hawq stop master -M fast' or 'hawq stop master -M immediate'
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[WARNING]:-See hawq stop --help for all options
20160701:10:02:09:032804 hawq_stop:ChunlingdeMacBook-Pro:wangchunling-[ERROR]:-Active connections. Aborting shutdown...那么"hawq stop -M immediate“和"hawq stop -M fast”有什么不同呢?
发布于 2016-07-01 10:51:26
-M fast
快速关机。任何正在进行的事务都会被中断并回滚。
-M immediate
立即关闭。任何正在进行的事务都将中止。此模式将终止所有postgres进程,而不允许数据库服务器完成事务处理或清理任何临时或正在处理的工作文件。
以下是HAWQ文档的链接:http://hdb.docs.pivotal.io/20/reference/cli/admin_utilities/hawqrestart.html
发布于 2016-07-04 14:11:43
不建议立即关闭。因为在某些情况下,它可能会导致需要手动恢复的数据库损坏。你可以参考@Wen Lin提到的链接http://hdb.docs.pivotal.io/20/reference/cli/admin_utilities/hawqrestart.html中的文档。
作为替代,建议使用"hawq stop cluster -a -M fast“或使用"pg_cancel_backend()”,然后执行"hawq stop cluster -a“。
发布于 2016-07-08 06:54:50
在内部,stop只是向postgres进程发送信号。不同的停车模式意味着不同的信号。
SIGTERM智能模式
快速模式: SIGINT
即时模式: SIGQUIT
https://stackoverflow.com/questions/38135975
复制相似问题