gpconfig

    gpconfig工具允许用户在Greenplum数据库系统中所有实例(Master、Segment和镜像)的postgresql.conf文件中设置、复原或查看配置参数。设置参数时,如果需要,还可以为Master指定一个不同的值。例如,诸如max_connections之类的参数要求Master的设置不同于Segment的设置。如果要设置或复原全局参数或仅可对Master设置的参数,请使用 --masteronly选项。

    gpconfig只能用来管理某些参数。例如,用户不能使用它来设置port等参数,这些参数对每个Segment实例都不同。使用-l (list)选项查看gpconfig支持的配置参数的完整列表。

    当gpconfig在Segment的postgresql.conf文件中设置配置参数时,新的参数设置将总是显示在该文件的底部。当用户使用gpconfig移除配置参数时,gpconfig会在所有Segment的postgresql.conf 文件中把该参数注释掉,从而恢复系统默认设置。例如,如果使用gpconfig删除(注释掉)一个参数,并且稍后把它添加回来(设置新值),则该参数会有两个实例,一个被注释掉,另一个被启用并添加到postgresql.conf文件的底部。

    设置参数之后,用户必须重新启动其Greenplum数据库系统,或者重新加载postgresql.conf 文件以使得更改生效。是否需要重新启动或者加载取决于被设置的参数。

    有关服务器配置参数的更多信息,请参阅Greenplum数据库参考指南

    要显示系统中当前参数的设置值,请使用-s选项。

    gpconfig使用以下环境变量连接到Greenplum数据库的Master实例并获取系统配置信息:

    • PGHOST
    • PGPORT
    • PGUSER
    • PGPASSWORD

    -c | —change param_name

    通过在postgresql.conf 文件的底部添加新的设置来改变配置参数的设置。

    -v | —value value

    用于由-c选项指定的配置参数的值。默认情况下,此值将应用于所有Segment及其镜像、Master和后备Master。

    -m | —mastervalue master_value

    用于由-c选项指定的配置参数的Master值。如果指定,则该值仅适用于Master和后备Master。该选项只能与-v一起使用。

    --masteronly

    -r | —remove param_name

    通过注释掉postgresql.conf文件中的项删除配置参数。

    -l | —list

    列出所有被gpconfig工具支持的配置参数。

    -s | —show param_name

    显示在Greenplum数据库系统中所有实例(Master和Segment)上使用的配置参数的值。如果实例中参数值存在差异,则工具将显示错误消息。使用-s选项运行gpconfig将直接从数据库中读取参数值,而不是从postgresql.conf文件中读取。如果用户使用gpconfig 在所有Segment中设置配置参数,然后运行gpconfig -s来验证更改,用户仍可能会看到以前的(旧)值。用户必须重新加载配置文件(gpstop -u)或重新启动系统(gpstop -r)以使更改生效。

    --file

    对于配置参数,显示在Greenplum数据库系统中的所有Segment(Master和Segment)上的postgresql.conf文件中的值。如果实例中的参数值存在差异,则工具会显示一个消息。必须与-s选项一起指定。

    例如,使用ALTER ROLE为用户设置配置参数statement_mem为64MB,而postgresql.conf文件中的值为128MB。运行命令 gpconfig -s statement_mem —file显示 128MB。用户运行的命令gpconfig -s statement_mem显示64MB。

    与--file-compare选项一起指定时无效。

    --file-compare

    对于配置参数,将当前Greenplum数据库值与主机(Master和Segment)上postgresql.conf文件中的值进行比较。postgresql.conf文件中的值表示重新启动Greenplum数据库时的值。

    如果值不一样,该工具显示来自所有主机的值,如果所有主机的值一样,则该程序显示摘要报告。

    与--file选项一起指定时无效。

    覆盖gpconfig的系统验证检查,并允许用户对任何服务器配置参数进行操作,包括隐藏参数和gpconfig无法更改的受限参数。当与-l选项(列表)一起使用时,它显示受限参数的列表。

    警告: 使用此选项设置配置参数时要格外小心。

    --verbose

    在gpconfig命令执行期间显示额外的日志信息。

    --debug

    设置日志输出级别为调试级别。

    -? | -h | —help

    显示在线帮助。

    仅设置Master主机文件中的gp_snmp_community参数为testenv:

    设置所有Segment上的 max_connections 为100,而Master上为10。

    设置服务器配置参数gp_email_to和gp_email_from。这些参数需要用单引号把值括起来。在为参数指定值时,请将值用双引号(”)封闭。

    在postgresql.conf文件中, 参数必须使用单引号括起来才能正确设置:

    注释掉default_statistics_target配置参数的所有实例,并恢复系统默认值:

    列出所有gpconfig支持的配置参数:

      gpstop