gpstop
gpstop工具用于停止构成Greenplum数据库系统的数据库服务器。当用户停止一个Greenplum数据库系统时,用户实际上是一次停止几个postgres数据库服务器进程(Master和所有的Segment实例)。gpstop工具处理个别实例的关闭。每个实例被并行地关闭。
默认情况下,如果有任何客户端连接到数据库,则不允许关闭Greenplum数据库。使用-M fast选项来回滚所有正在进行的事务,并在关闭之前终止所有连接。如果有任何事务正在进行,则默认行为是在关闭之前等待它们提交。
使用-u选项时, 该工具会上传对主pg_hba.conf文件所做的更改,或者在postgresql.conf文件中将运行时配置参数上载到服务中。请注意,任何活动的会话在重新连接到数据库之前都不会获取更改。
-a
不要提示用户确认。
-B parallel_processes
并行停止的Segment数。如果未指定,则工具将启动最多64个并行进程,具体取决于需要停止多少个Segment实例。
-d master_data_directory
可选。Master主机的数据目录。如果未指定,则使用为$MASTER_DATA_DIRECTORY设置的值。
-l logfile_directory
写入日志文件的目录。默认为~/gpAdminLogs。
-m
可选。关闭在维护模式下启动的Greenplum主实例。
快速关闭。任何正在进行的事务都会中断并回滚。
-M immediate
立即关闭。任何正在进行的事务都会中止。
该模式杀死所有postgres进程,而不允许数据库服务器完成事务处理或清理任何临时或进程内工作文件。
-M smart
智能关闭。如果存在活动连接,则此命令将失败并显示警告。这是默认的关闭模式
-q
以静默模式运行。命令输出不显示在屏幕上,但仍然写入日志文件。
-r
关机完成后重新启动。
-t timeout_seconds
指定等待Segment实例关闭的超时阈值(以秒为单位)。如果Segment实例没有在指定的秒数内关闭,gpstop将显示一条消息,指示一个或多个Segment仍处于关闭过程中,并且直到Segment实例停止后才能重新启动Greenplum数据库。这个选项在gpstop被执行且有非常大的事务需要回滚的情况下非常有用。这些大型事务可能需要一分钟才能回滚,并超过600秒的默认超时时间。
-u
。
-v
显示工具输出的详细状态,进度和错误消息。
-y
不要停止后备Master进程。默认是停止后备Master。
-? | -h | —help
显示在线帮助。
--version
显示工具的版本。
在智能模式下关闭Greenplum数据库系统:
在快速模式下关闭Greenplum数据库系统:
停止所有的Segment实例,然后重新启动系统:
停止在维护模式下启动的Master实例: