gpconfig
1. 描述
gpconfig工具允许用户在MatrixDB集群所有实例 (Master、Segment和镜像)的postgresql.conf文件中设置、复原或查看配置参数。设置参数时,如果需要,还可以为Master指定一个不同的值。例如,max_connections参数要求Master的设置不同于Segment的设置。如果要设置或复原全局参数或仅可对Master设置的参数,请使用--masteronly
选项。
不是所有参数都可以使用gpconfig来配置。例如,用户不能使用它来设置port
参数,这个参数每个Segment实例都不同。-l
选项可以查看gpconfig支持的配置参数完整列表。
使用gpconfig设置配置参数后,参数值会出现在postgresql.conf文件的底部。使用gpconfig移除配置参数时,配置参数会在postgresql.conf文件中注释掉,从而恢复默认设置。如果使用gpconfig删除一个参数,并且稍后把它又添加回来(设置新值),则该参数会有两个实例,一个被注释掉,另一个被启用并添加到postgresql.conf文件的底部。
设置参数之后,用户可能需要重启集群,或者重新加载postgresql.conf文件以使更改生效。是否需要重新启动取决于被设置的参数。
要显示系统中当前参数的设置值,请使用-s
选项。
gpconfig使用以下环境变量连接到MatrixDB集群的Master实例并获取系统配置信息:
- PGHOST
- PGPORT
- PGUSER
- PGPASSWORD
- PGDATABASE
2. 参数选项
参数名 | 描述 |
---|---|
-c param_name 或 --change param_name | 通过在postgresql.conf文件的底部添加新的设置来改变配置参数的设置。 |
-v value 或 --value value | 用于由-c选项指定的配置参数的值。默认情况下,此值将应用于所有 Segment及其镜像、Master和Standby。 非单个字符或数字的参数值必须用单引号包裹(')。例如,包括空格或特殊字符的字符串。如果要在字符串参数中嵌入单引号,需要用2个单引号或反斜杠进行转移(''或\')。 |
-m master_value 或 --mastervalue master_value | 用于在设置参数时,单独设置Master和Standby节点的配置,使其与Segment节点的配置不同。 |
--masteronly | 当被指定时,gpconfig将仅编辑Master的postgresql.conf文件。 |
-r param_name 或 --remove param_name | 通过注释掉postgresql.conf文件中的配置项来删除配置参数。 |
-l 或 --list | 列出所有可用gpconfig工具修改的配置参数。 |
-s param_name 或 --show param_name | 显示MatrixDB集群中所有实例(Master和Segment)上使用的配置参数值。 显示的值为集群当前生效的值,如果修改后还未重启,则看到的仍然是旧值。 |
--file | 显示MatrixDB集群中所有实例(Master和Segment)的postgresql.conf配置文件中的值。配置文件中的值可能会因为集群未重启还未生效。 不能与--file-compare选项一起使用。 |
--file-compare | 对于配置参数,将当前MatrixDB集群(Master和Segment)中生效值与配置文件postgresql.conf中的值进行比较。 如果值不一样,显示来自所有主机的值;如果值一样,则显示摘要报告。 不能与--file选项一起使用。 |
--skipvalidation | 在设置参数时跳过有效性检查。 使用此选项设置配置参数时要格外小心。 |
--verbose | 在命令执行期间显示额外的日志信息。 |
--debug | 设置日志输出级别为调试级别。 |
? 或 -h 或 --help | 显示帮助信息。 |
3. 示例
查看shared_buffers
配置信息:
gpconfig -s shared_buffers
设置gp_resource_manager
为queue
:
gpconfig -c gp_resource_manager -v queue
设置segment节点max_connections
值为180,master节点值为60
gpconfig -c max_connections -v 180 -m 60