启动和停止 Apache Cloudberry
在 Apache Cloudberry 数据库管理系统中,数据库服务器实例(包括 Coordinator 和所有 Segment)启停和运行在所有系统主机上,这样各实例能够协同工作,形成一个统一的数据库管理系统。
因为 Apache Cloudberry 系统分布在多台机器上,所以 Apache Cloudberry 系统启动和停止的过程与常规 PostgreSQL 数据库系统不同。
命令行工具 gpstart
和 gpstop
分别用于启动和停止 Apache Cloudberry。它们位于 Coordinator 主机上的 $GPHOME/bin
目录中。
请勿使用 kill
命令来终止 Postgres 进程,因为使用 kill -9
或 kill -11
会损坏数据库并阻碍故障原因分析。要终止 Postgres 进程,请使用数据库函数 pg_cancel_backend()
。
启动 Apache Cloudberry
要启动已初始化的 Apache Cloudberry,在 Coordinator 实例上执行 gpstart
。
如果数据库系统已通过 gpinitsystem
初始化并被 gpstop
停止,你可以通过 gpstart
来重启数据库。gpstart
的作用是启动 Apache Cloudberry 集群中的所有 postgres
实例,从而完成整个数据库的启动。在启动过程中,gpstart
会协调和并行执行所有必要的步骤。
在 Coordinator 主机上执行 gpstart
来启动 Apache Cloudberry:
$ gpstart
重启 Apache Cloudberry
要重启 Apache Cloudberry,请在 Coordinator 主机上执行带 -r
选项的 gpstop
命令:
$ gpstop -r
重新加载配置文件更改
你可以在不中断系统的情况下,重新加载 Apache Cloudberry 配置文件的更改。
gpstop
支持在不中断服务的情况下,重新加载 pg_hba.conf
配置文件和 postgresql.conf
中的运行时参数。客户端在重新连接到数据库时,活动会话将应用配置文件中的更改。但是,许多服务器配置参数只在完整重启系统 (gpstop -r
) 后才生效。
在不关闭 Apache Cloudberry 系统的情况下,使用 gpstop -u
重新加载配置文件更改:
$ gpstop -u
在维护模式下启动 Coordinator
如果要执行维护或管理任务,又不想影响 Segment 上的数据,仅需启动 Coordinator 即可。例如,在维护模式下,你可以只连接到数据库的 Coordinator 实例,并编辑系统目录设置。
-
在
gpstart
中使用-m
选项,进入到维护模式:$ gpstart -m
-
在维护模式下连接到 Coordinator 以进行 Catalog 维护。例如:
$ PGOPTIONS='-c gp_role=utility' psql postgres
-
完成维护任务后,在维护模式下停止 Coordinator。然后,在生产模式下重新启动 Coordinator。
$ gpstop -m
$ gpstart警告不正确地使用维护模式可能导致系统状态不一致。建议此操作由技术支持来执行。
停止 Apache Cloudberry
gpstop
在 Coordinator 主机上停止或重启 Apache Cloudberry 系统。执行后,gpstop
会停止系统中的所有 postgres
进程,包括 Coordinator 和所有 Segment 实例。gpstop
默认使用多个并行工作线程来关闭组成 Apache Cloudberry 集群的 Postgres 实例。要立即停止 Apache Cloudberry,请使用快速模式。
不建议使用快速模式。此模式会停止所有数据库进程,使数据库服务器来不及完成事务处理,或来不及清理任何临时或进程中的工作文件。
-
停止 Apache Cloudberry:
$ gpstop