配置参数

    自动向FROM字句添加缺少的表引用。当前与8.1之前的版本的PostgreSQL的版本兼容,默认情况下允许此行为。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    application_name

    设置客户端会话的应用程序名称。例如,如果通过 psql连接,这将会被设置为psql。设置应用程序名称可以在日志消息和统计视图中进行报告。

    值范围默认设置分类
    string master

    session

    reload

    array_nulls

    该参数控制输入解析器是否将非引用的NULL识别为指定空数组元素。默认情况下,这是打开的,允许输入数组值包含空值。Greenplum 3.0之前的数据库不支持数据中的空值。 因此可以将NULL视为指定字符串值为“NULL”的普通数组元素。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    authentication_timeout

    完成客户端认证的最大时间,这样可以防止挂起的客户端无限期占用连接

    值范围默认设置分类
    任何有效的时间表达式 (数字和单位)1分钟local

    system

    restart

    backslash_quote

    这可以控制是否在字符串中可以用\‘表示引号。代表引号的首选SQL标准是用“” 表示,但是PostgreSQL历来也使用\‘。但是,使用\‘会导致安全风险,因为在一些客户端字符集编码中,有很多多字节字符,其中最后一个字节等同于ASCII字符\。

    值范围默认设置分类
    on(总是允许 \’)

    off(总是拒绝)

    safe_encoding (只有客户端编码不允许多字节中的ASCII字符\才允许)

    safe_encodingmaster

    session

    reload

    block_size

    报告磁盘块大小

    值范围默认设置分类
    字节数32768只读

    bonjour_name

    指定Bonjour广播名称。默认情况下,使用计算机名称,指定为空字符串。如果服务器未支持Bonjour服务,则忽略此选项。

    值范围默认设置分类
    string未设置master

    system

    restart

    check_function_bodies

    当设置为关闭时,禁用在 CREATE FUNCTION 期间函数体字符串的验证。当从dump恢复函数定义时禁用验证对避免诸如转发引用之类的问题是有时有用的。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    client_encoding

    设置客户端编码(字符集)。默认是使用与数据库相同的编码。请参阅 PostgreSQL 文档中的支持的字符集

    值范围默认设置分类
    字符集UTF8master

    session

    reload

    client_min_messages

    控制哪些消息级别发送到客户端。每个级别包括跟它随后的所有级别,越往后的级别,发送的消息就越少。

    值范围默认设置分类
    DEBUG5

    DEBUGz4

    DEBUG3

    DEBUG2

    DEBUG1

    LOG NOTICE

    WARNING

    ERROR

    FATAL

    PANIC

    NOTICEmaster

    session

    reload

    cpu_index_tuple_cost

    对于传统的查询优化器(planner),在索引扫描期间设置对处理每个索引行代价的估计。这是作为顺序页面提取代价的一部分来衡量的。

    值范围默认设置分类
    浮点0.005master

    session

    reload

    cpu_operator_cost

    对于传统的查询优化器(planner),设置对处理WHERE语句中每个操作符代价的估计。这是作为顺序页面提取代价的一部分来衡量的。

    值范围默认设置分类
    浮点0.0025master

    session

    reload

    cpu_tuple_cost

    对于传统的查询优化器(planner),设置对处理一个查询中每行(元组)代价的估计。这是作为顺序页面提取代价的一部分来衡量的。

    值范围默认设置分类
    浮点0.01master

    session

    reload

    cursor_tuple_fraction

    告知传统查询优化器(planner)预期在游标查询中提取多少行,从而允许传统优化器使用此信息来优化查询计划 。默认值为1表示获取所有行。

    值范围默认设置分类
    整数1master

    session

    reload

    custom_variable_classes

    指定要用于自定义变量的一个或多个类名。自定义变量通常是 服务器不知道的变量,但是由一些附加模块使用。这些变量的名字必须由类名,点和变量名组成。

    值范围默认设置分类
    逗号分隔的类名列表未设置local

    system

    restart

    DateStyle

    设置日期和时间值的显示格式,以及解释模糊日期输入值的规则。该变量值包含两个独立的而部分:输出格式规范和输入输出规范中年月日的顺序。

    值范围默认设置分类
    <format>, <date style>

    其中:

    <format> 是ISO、Postgres、SQL或者German

    <date style> 是 DMY、MDY或者YMD

    ISO, MDYmaster

    session

    reload

    db_user_namespace

    这启用了每个数据库的用户名。如果打开,用户应该以 username@dbname创建用户。要创建普通的全局用户,只需要在客户端指定用户名时附加@。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    deadlock_timeout

    在检查以查看是否存在死锁情况之前等待锁的时间。在一个比较重的服务器上,用户可能希望提高此值。理想的情况下,设置的值应该超过用户的典型处理时间,以此提高在等待线程在决定检查死锁之前自动解锁的几率。

    值范围默认设置分类
    任何有效时间的表达式(数字或者单位)。1slocal

    system

    restart

    debug_assertions

    打开各种断言检查。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    debug_pretty_print

    缩进调试输出产生更可读但是更长的输出格式。 client_min_messages 或者 log_min_messages 必须是 DEBUG1 或者更低。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    debug_print_parse

    对于每一个执行的查询,打印出结果分析树。client_min_messageslog_min_messages 必须是 DEBUG1 或者更低。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    debug_print_plan

    对于每个执行的查询,打印出Greenplum并行查询执行计划。 client_min_messageslog_min_messages 必须是 DEBUG1 或者更低。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    debug_print_prelim_plan

    对每个执行的查询,打印出初步查询计划。client_min_messageslog_min_messages 必须是 DEBUG1 或者更低。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    debug_print_rewritten

    对于每个执行的查询,打印出查询重写输出。client_min_messageslog_min_messages 必须是 DEBUG1 or lower.

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    debug_print_slice_table

    对于每个执行的查询,打印 Greenplum 查询分片计划。client_min_messageslog_min_messages 必须是 DEBUG1 或者更低。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    default_statistics_target

    通过 ALTER TABLE SET STATISTICS 为没有指定列目标集的表的列设置默认统计目标。较大的值会增加 ANALYZE 所需的时间,但是可能会提高传统查询优化器(planner) 估计的质量。

    值范围默认设置分类
    整数 > 025master

    session

    reload

    default_tablespace

    当 CREATE 命令没有明确指定一个表空间,会在默认的表空间创建对象(表和索引)。

    值范围默认设置分类
    表空间的名字未设置master

    session

    reload

    default_transaction_isolation

    控制每个新事务的默认隔离级别

    值范围默认设置分类
    读已提交(read committed)

    读未提交(read uncommitted)

    序列化(serializable)

    读已提交(read committed)master

    session

    reload

    default_transaction_read_only

    控制每个新事务的默认只读状态。只读的SQL事务 不能修改非临时表。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    dynamic_library_path

    如果需要打开动态加载的模块,并且在 CREATE FUNCTION 或 LOAD 命令中指定的文件名没有目录部分(即:目录不包括斜杠),系统会搜索该路径以获取所需的文件。此时, PostgreSQL 内置编译的包库目录会替换 $libdir。这是由标准PostgreSQL发行版提供的模块安装位置。

    值范围默认设置分类
    由冒号分隔的绝对目录路径列表$libdirlocal

    system

    restart

    effective_cache_size

    设置对于遗传查询优化器(计划器)的单个查询可用的磁盘缓存的有效大小的假设。这是对使用索引成本估计的因素;较高的值使之更可能使用索引扫描,较低的值使之更可能使用顺序扫描。该参数对Greenplum服务器实例分配的共享内存大小没有影响。也不会保留内核磁盘缓存;它仅用于估计目的。

    值范围默认设置分类
    浮点512MBmaster

    session

    reload

    enable_bitmapscan

    启用或禁用遗传查询优化器(计划程序)使用位图扫描计划类型。请注意,这不同于位图索引扫描。位图扫描意味着索引将在适当时候动态转换为内存中的位图,从而使得针对大型表的复杂查询的索引性能更快。当不同索引上有多个谓词时使用它。可以比较每列的每个位图,以创建所选元组的最终列表。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    enable_groupagg

    启用或禁用遗传查询优化器(计划器)使用组聚集计划类型

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    enable_hashagg

    启用或禁用遗传查询优化器(计划器)使用哈希聚集计划类型。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    enable_hashjoin

    启用或者禁用遗传查询优化器(计划器)使用散列聚集计划类型。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    enable_indexscan

    启用或禁用遗传查询优化器(计划器)使用索引扫描计划类型。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    enable_mergejoin

    启用或禁用遗传查询优化器(计划器)使用合并连接计划类型。合并连接是基于左右表的顺序排序,然后并行扫描它们的想法。因此,两种数据类型必须能够被完全排序,并且连接操作符必须是只能在排序顺序中位于“相同位置”的值对的连接操作符号。在实践中,这意味着连接操作符具有相等的性质。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    enable_nestloop

    启用或禁用遗传查询优化器(计划器)使用嵌套循环连接计划。完全禁止嵌套循环连接是不可能的,但是如果有其他方法可用,则关闭此变量可能会使得遗传优化器放弃使用该方法。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    enable_seqscan

    启用或者禁用遗传查询优化器(计划器)使用顺序扫描类型。完全禁止顺序扫描是不可能 的,但是如果有其他方法可用,则关闭此变量将阻止遗传查询优化器使用该方法。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    enable_sort

    启用或禁用遗传查询优化器(计划器)使用显式的排序步骤。完全禁止显式排序是不可能的,但是,如果有其他可用的方法,关闭此变量将阻止遗传查询优化器使用该方法。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    enable_tidscan

    启用或者禁止遗传查询优化器(计划器)使用元组标识符。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    escape_string_warning

    打开的时候,如果在普通字符串文字(‘…’语法)中出现反斜杠(\),则会发出警告。转义字符语法(E’…’)应用于转义,因为在将来的版本中,普通字符串将具有字面上处理反斜杠的符合SQL标准的行为。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    explain_pretty_print

    确定 EXPLAIN VERBOSE 是否使用缩进或非缩进格式显示详细的查询树存储。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    extra_float_digits

    调整浮点值显示的位数,包括float4,float8, 和几何数据类型。将参数将加到数位上。该值可以设置为高达2,包括部分有效位。这对于转储需要精确恢复的浮点数据尤其有用。或者用以用来设置为负摒弃不需要的位。

    值范围默认设置分类
    整数0master

    session

    reload

    filerep_mirrorvalidation_during_resync

    该默认设置值 false 在段镜像增量重新同步期间可以提供数据库性能。设置为 true 可以在增量重新同步期间检查段镜像上所有关系的文件是否存在。检查文件会降低增量重新同步过程的性能,但是提供了对数据库对象的最小检查。

    值范围默认设置分类
    Booleanfalsemaster

    session

    reload

    from_collapse_limit

    如果生成的FROM列表不超过这么多项,则遗传查询优化器(计划器)将把子查询合并到上层查询中。较小的值会较少计划时间,但是可能会产生较差的查询计划。

    值范围默认设置分类
    1-n20master

    session

    reload

    gp_adjust_selectivity_for_outerjoins

    启用对外连接的NULL测试的选择性。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_analyze_relative_error

    设置表的基数的估计可接受的误差,0.5应该等于可50%的接受的误差(这是PostgreSQL中使用的默认值)。如果在 ANALYZE 期间收集的统计数据没有对特定表属性产生良好的基数估计,减少相对误差值(接受较少的错误)告诉系统对更多行进行采样。

    值范围默认设置分类
    浮点 < 1.00.25master

    session

    reload

    gp_appendonly_compaction

    在 VACUUM 命令期间启用压缩段文件。当禁用时, VACUUM 只会将段文件清为EOF值,与当前的行为一样。管理员可能希望在高I/O负载情况或低空闲空间的情况下禁用压缩。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_appendonly_compaction_threshold

    当在没有指定FULL选项情况下运行VACUUM时,指明隐藏行和总行的阀值比率(以百分比表示),该比率会触发段文件的压缩。如果段中的段文件中的隐藏行的比例小于该阀值,则段文件不能压缩,并且发出日志消息。

    值范围默认设置分类
    整数 (%)10master

    session

    reload

    gp_autostats_mode

    指定使用 ANALYZE触发自动统计信息收集的模式。on_no_stats 选项可以触发对任何没有统计信息的表上的 CREATE TABLE AS SELECT,INSERT,或 COPY 操作的统计信息收集。

    当受影响的行数超过由 gp_autostats_on_change_threshold 定义的阀值时,on_change 选项才会触发统计信息收集。可以使用 on_change 触发自动统计信息收集的操作有:

    CREATE TABLE AS SELECT

    UPDATE

    DELETE

    INSERT

    COPY

    默认值是 on_no_stats。

    注意: 对于分区表来说,如果从分区表的顶级父表插入数据,则不会触发自动统计信息收集。

    如果数据直接插入到分区表的叶表(数据的存储位置)中,则触发自动统计信息收集。统计数据仅在叶表上收集。

    值范围默认设置分类
    none

    onchange

    on_no_stats

    on_no statsmaster

    session

    reload

    gp_autostats_mode_in_functions

    指定使用过程语言函数中的 ANALYZE 语句触发自动统计信息收集的模式。 none 选项禁用统计信息收集。 on_no_stats 选项在任何没有现有统计信息表上的函数中执行的 CREATE TABLE AS SELECT,INSERT,或 COPY 操作触发统计信息收集。

    只有当受影响的行数超过由gp_autostats_on_change_threshold定义的阀值时,on_change 选项才会触发统计信息收集。可以使用 on_change 触发自动信息统计收集功能的操作有:

    CREATE TABLE AS SELECT

    UPDATE

    DELETE

    INSERT

    COPY

    值范围默认设置分类
    none

    on_change

    on_no_stats

    nonemaster

    session

    reload

    gp_autostats_on_change_threshold

    当 gp_autostats_mode 设定为 on_change时,指明自动统计信息收集的阀值。当触发表操作影响超过此阀值的行数时,将添加ANALYZE 并收集表的统计信息。

    值范围默认设置分类
    整数2147483647master

    session

    reload

    gp_backup_directIO

    直接 I/O 允许Greenplum数据库绕过文件系统缓存中的内存缓冲区进行备份。当直接 I/O 用于文件时,数据将直接从磁盘传输到应用程序缓冲区,而不使用文件缓冲区缓存。

    仅在 Red Hat Enterprise Linux,CentOS,和SUSE上支持直接I/O。

    值范围默认设置分类
    on, offofflocal

    session

    reload

    gp_backup_directIO_read_chunk_mb

    当使用 启用直接I/O时,以MB为单位设置块的大小。默认的块大小是20MB。

    默认值是最佳设置。减少该值会增加备份时间,增加该值会导致备份时间几乎不变。

    值范围默认设置分类
    1-20020 MBlocal

    session

    reload

    gp_cached_segworkers_threshold

    当用户启动与Greenplum数据库的会话并发出查询时,系统将在每个段上创建工作进程的组或”帮派“,以进行工作。完成工作以后,除了由此参数设置的缓存数字外,段工作进程将被销毁。较低的设置节省了段主机上的系统资源,但更高的设置可能会提高高级用户(希望在一行中发出许多复杂查询)的性能。

    值范围默认设置分类
    整数 > 05master

    session

    reload

    gp_command_count

    显示主机从客户端收到的命令数量。请注意,单个SQLcommand可能在内部实际涉及多个命令,因此对于单个查询,计数器可能会增加多个命令。该计数器也由在命令上执行的所有段进程共享。

    值范围默认设置分类
    整数 > 01read only

    gp_connection_send_timeout

    在查询处理期间发送数据到无响应的Greenplum数据库用户客户端的超时时间。值为0将禁用超时,Greenplum数据库将无限期地等待客户端。到达超时时,将使用此消息取消查询:

    值范围默认设置分类
    秒数3600(1小时)master

    system

    reload

    gp_connections_per_thread

    当处理SQL查询时,调度工作以查询段实例上的执行段实例上的执行程序进程时,控制Greenplum数据库查询调度程序(QD)生成的异步线程(工作线程)的数量。当处理查询时,该值设置工作线程连接到的主段实例的数量。例如,当值是2的时并且有64个段实例时,QD将生成32个工作线程来调度查询计划工作。每个线程分派给2个段。

    对于默认值0,查询分派器生成两种类型的线程:管理查询计划工作分派的主线程和互连线程。主线程也作为工作线程。

    对于大于0的值,QD 生成3中类型的线程:主线程,一个或者多个工作线程和互连线程。当该值等于或者大于段实例的数量时,QD将生成3个线程:主线程,单个工作线程和互连线程。

    不需要改动该默认值,除非有已知的吞吐性能问题。

    该参数仅适用于主机,并更改它需要需要重新启动服务器。

    值范围默认设置分类
    整数 >= 00master

    restart

    gp_content

    如果是段的话则为本地内容。

    值范围默认设置分类
    整数 read only

    gp_create_table_random_default_distribution

    使用不包含DISTRIBUTED BY子句的CREATE TABLE 或 CREATE TABLE AS 创建Greenplum数据库表时,控制表的创建。

    对于 CREATE TABLE,如果参数的值为 off(默认值),并且表创建命令不包含 DISTRIBUTED BY 子句,则Greenplum数据库将根据该命令选择分布键。如果表创建命令中指定了 LIKE 或者 INHERITS 子句,则创建的表使用与源表或父表相同的分布键。

    如果该参数值设置为真 on,当未指定DISTRIBUTED BY子句时,Greenplum数据库遵循以下规则创建表:

    • 如果 PRIMARY KEY 或者 UNIQUE 列未指定,则该表的分布式随机的(DISTRIBUTED RANDOMLY)。即使创建表的命令中包含 LIKE 或 INHERITS 子句,表分布也是随机的。
    • 如果指定了 PRIMARY KEY 或者 UNIQUE 列,还必须指定 DISTRIBUTED BY 子句。如果没有指定 DISTRIBUTED BY 子句作为表创建命令的一部分,则该命令失败。

    对于不包含分布子句的 CREATE TABLE AS 命令:

    • 如果遗传查询优化器创建表,并且参数的值为 off,则表分布策略将根据该命令确定。
    • 如果遗传查询优化器创建表,并且参数的值为 on,则表分布策略是随机的。
    • 如果 GPORCA 创建表,则表分布策略是随机的,该参数无效。

    更多关于遗传查询优化器和GPORCA的信息,请参阅 Greenplum数据库管理员指南的“查询数据”。

    值范围默认设置分类
    booleanoffmaster

    system

    reload

    gp_dbid

    如果是段,为本地内容的dbid。

    值范围默认设置分类
    整数 read only

    gp_debug_linger

    在致命内部错误之后,Greenplum进程停留的秒数。

    值范围默认设置分类
    任何有效的时间表达式 (数字和单位)0master

    session

    reload

    gp_default_storage_options

    当使用 CREATE TABLE 命令创建表之后,为以下的表存储选项设置默认值。

    • APPENDONLY
    • BLOCKSIZE
    • CHECKSUM
    • COMPRESSTYPE
    • COMPRESSLEVEL
    • ORIENTATION

    以逗号分隔列表指定多个存储选项值。

    用户可以使用此参数设置存储选项,而不是在CREATE TABLE命令的WITH中指定表存储选项。使用 CREATE TABLE 命令指定的表存储选项将覆盖此参数指定的值。

    并非存储选项值的所有组合都有效。如果指定的存储选项无效,则返回错误。有关表存储选项的信息,请参阅 CREATE TABLE 命令。

    可以为数据库和用户设置默认值。如果服务器配置参数设置在不同的级别,则当用户登录到数据库并创建表时候,表存储值的优先顺序从最高到最低:

    1. 在 CREATE TABLE 命令中用 WITH 子句或者 ENCODING 子句指定的值。
    2. 使用 ALTER ROLE…SET 命令为用户设置的 gp_default_storage_options 的值。
    3. ALTER DATABASE…SET 命令为用户创建的 gp_default_storage_options 的值。
    4. 使用 gpconfig 实用功能为Greenplum数据库系统创建的 gp_default_storage_options 的值。

    参数值不是累积的。例如,如果,参数指定数据库和用户登录的 APPENDONLY 和 COMPRESSTYPE 选项,并且设置参数以指定 ORIENTATION 选项的值,则将忽略在数据库级别设置的 APPENDONLY,和 COMPRESSTYPE 值。

    此示例 ALTER DATABASE 命令为数据库mystest设置了默认的 ORIENTATION 和 COMPRESSTYPE 表存储选项。

    要在 mytest 数据库中使用面向列的表和RLE压缩方式创建一个追加优化表。用户需要仅在WITH子句中指定 APPENDONLY=TRUE。

    该例子 gpconfig 实用程序命令为Greenplum数据库系统设置默认存储选项。如果用户为多表存储选项设置了默认值,则该值必须要用单引号括起来,然后再用双引号括起来。

    1. gpconfig -c 'gp_default_storage_options' -v "'appendonly=true, orientation=column'"

    此示例 gpconfig 实用程序命令显示参数的值。该参数的值必须在Greenplum数据库主机和所有段之间一致。

    1. gpconfig -s 'gp_default_storage_options'
    值范围默认Set Classifications 1
    APPENDONLY= TRUE | FALSE

    BLOCKSIZE= integer between 8192 and 2097152

    CHECKSUM= TRUE | FALSE

    COMPRESSTYPE= ZLIB | QUICKLZ2 | RLE_TYPE | NONE

    COMPRESSLEVEL= integer between 0 and 9

    ORIENTATION= ROW | COLUMN

    APPENDONLY=FALSE

    BLOCKSIZE=32768

    CHECKSUM=TRUE

    COMPRESSTYPE=none

    COMPRESSLEVEL=0

    ORIENTATION=ROW

    master

    session

    reload

    注意: 1当参数使用 gpconfig 实用程序实用程序设置在系统级时,为set classification(集合分类)

    注意: 2QuickLZ 压缩仅在Pivotal Greenplum的商业版本中可用。

    gp_dynamic_partition_pruning

    启用可以动态消除分区扫描的计划。

    值范围默认设置分类
    on/offonmaster

    session

    reload

    gp_email_from

    邮件地址用发送邮件警告,以该形式:

    ‘username@example.com’

    ‘Name ‘

    值范围默认设置分类
    string master

    system

    reload

    superuser

    gp_email_smtp_password

    用于与SMTP服务器进行身份验证的密码/密令。

    值范围默认设置分类
    string master

    system

    reload

    superuser

    gp_email_smtp_server

    用于发送电子邮件警报的SMTP服务器的完全限定域名或IP地址和端口。必须的格式为:

    smtp_servername.domain.com:port

    值范围默认设置分类
    string master

    system

    reload

    superuser

    gp_email_smtp_userid

    用于和SMTP服务器进行认证的用户id。

    值范围默认设置分类
    string master

    system

    reload

    superuser

    gp_email_to

    分号(;)分隔的电子邮件地址列表接受电子邮件警报消息,格式为:‘username@example.com’

    ‘Name username@example.com

    如果没有设置此参数,则禁用邮件警告。

    值范围默认设置分类
    string master

    system

    reload

    superuser

    gp_enable_adaptive_nestloop

    在遗传查询优化器的执行时间内,启用使用名为“自适应嵌套式”的新类型的连接节点。这将导致遗传优化器相比嵌套连接更倾向于哈希连接,如果连接外侧的行数超过预先计算的阀值。这参数提高索引操作的性能,该遗传查询优化器以前喜欢慢的嵌套循环连接。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_agg_distinct

    启用或者禁用两阶段聚合以计算单个不同合格的聚合。这仅适用于包含单个不同合格的聚合函数的子查询。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_agg_distinct_pruning

    启用或者禁用三阶段聚合和连接来计算单个不同合格的聚合。这仅应用在包括一个或多个单个不同合格的聚合函数的子查询上。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_direct_dispatch

    启用或者禁用针对访问单个段上的数据查询的目标查询计划的分派。打开时,目标行在单个段上的查询仅将他们的查询计划分配到该段(而不是所有段)。这显著地减少了限定查询的响应时间,因为没有涉及互连设置。直接分派的话确实需要主机上更多的CPU利用率。

    值范围默认设置分类
    Booleanonmaster

    system

    restart

    gp_enable_exchange_default_partition

    控制 ALTER TABLE 的EXCHANGE DEFAULT PARTITION 子句的可用性。 该参数默认值为 off。如果该子句在 ALTER TABLE 命令中指定了,则该子句不可用并且Greenplum数据库返回一个错误。

    如果该值为 on,Greenplum数据库返回一个警告声明由于默认分区中无效的数据,交换默认分区可能会导致错误的结果。

    警告: 在更换默认分区之前,必须确保要交换表中的数据,新的默认分区对默认分区有效。例如,新的默认分区中的数据不能包含在分区表的其他叶子分区中有效的数据。否则,使用有GPORCA执行交换的默认分区的分区表的查询可能返回不正确的结果。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    gp_enable_fallback_plan

    允许使用禁用计划类型,当查询没有该类型不可行的时候。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_fast_sri

    当设置为 on,该遗传查询优化器(计划器)计划单行插入,因此他们被直接送到了正确的段实例上(无需引导操作)。这很大的提高了当行插入语句的性能。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_gpperfmon

    启用或者禁用数据收集代理,该代理为Greenplum 命令中心填充 gpperfmon 数据库。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    gp_enable_groupext_distinct_gather

    启用或禁用向单个节点收集数据,以便在组扩展查询上计算分别不同合格的聚集。当这个参数和 gp_enable_groupext_distinct_pruning 都启用了,该遗传查询优化器(计划器)使用代价较小的计划。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_groupext_distinct_pruning

    启用或者禁用三阶段聚集和连接以在组扩展查询上计算不同合格的聚合。通常,启用此参数将生成较便宜(代价小)的查询计划,该计划相较于存在的计划将会被遗传查询优化器所使用。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_multiphase_agg

    启用或者禁用两或三阶段并行聚合方案的遗传查询优化器(计划程序)。此方法适用于具有聚合的任何子查询。如果 gp_enable_multiphase_agg 是off,则 gp_enable_agg_distinct 和 gp_enable_agg_distinct_pruning 将被禁用。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_predicate_propagation

    当被启用时,该遗传查询优化器(计划器)会在表上分布键连接的地方将谓词应用于两个表的表达式。在进行连接前过滤这两个表(如果可以的话)会更有效率。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_preunique

    启用 SELECT DISTINCT 查询的两阶段重复删除(不是 SELECT COUNT(DISTINCT))。启用后,它会在移动之前增加一个额外的 SORT DISTINCT 计划点集。在distinct操作大大较少行数的情况下,这种额外的 SORT DISTINCT 比跨Interconnect发送行代价小的多。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_sequential_window_plans

    如果启用,启用包含窗口函数调用的查询的非并行查询计划。如果关闭,将并行评估兼容窗口函数并重新加入结果。这是一个实验参数。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_relsize_collection

    如果没有表的统计信息,则可以使遗传查询优化器(计划程序)使用表的估计大小 (pg_relation_size 函数)。默认情况下,如果统计信息不可用,计划器将使用默认值来估计行数。默认行为可以提高查询计划时间,减少繁重工作负载中的资源的使用情况,但是可能导致次优计划。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    gp_enable_sort_distinct

    排序的时候启用删除的重复项。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_enable_sort_limit

    在排序时启用 LIMIT 操作。当计划最多需要前 limit_number 行时候排序会更有效。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_external_enable_exec

    启用或禁用在段主机上执行os命令或脚本的外部表的使用(CREATE EXTERNAL TABLE EXECUTE 语法)。如果使用Command Center或 MapReduce功能,必须启用。

    值范围默认设置分类
    Booleanonmaster

    system

    restart

    gp_external_max_segs

    设置在外部表操作期间将扫描外部表数据段的数量,目的是不使系统因扫描数据过载,并从其他并发操作中夺取资源。这仅适用于使用 the gpfdist:// 协议来访问外部表数据的外部表。

    值范围默认设置分类
    整数64master

    session

    reload

    gp_filerep_tcp_keepalives_count

    在连接被认为死亡之前,可能会丢失多少个keepalives。值为0是默认使用系统默认值。如果不支持TCP_KEEPCNT,该参数必须是0。

    对于主段和镜像段之间的所有连接,使用此参数。对于不在主段和镜像段之间的设置,请使用 tcp_keepalives_count。

    值范围默认设置分类
    丢失的keepalives数量2local

    system

    restart

    gp_filerep_tcp_keepalives_idle

    在空间连接上发送keepalive之间的秒数。值为0使用系统默认值。如果不支持TCP_KEEPIDLE ,该参数必须是0。

    对于主段和镜像段之间的所有连接,使用此参数。对于不再主段和镜像段之间的设置,请使用 tcp_keepalives_idle。

    值范围默认设置分类
    秒数1 分钟local

    system

    restart

    在重新传输之前等待响应keepalive的秒数。值为0使用默认值。如果不支持TCP_KEEPINTVL ,则此参数必须为0。

    对于主段和镜像段之间的所有连接,使用此参数,对于不在主镜像和镜像段之间的设置,请使用 tcp_keepalives_interval。

    gp_fts_probe_interval

    指定故障检测过程的轮询间隔(ftsprobe)。 该 ftsprobe 进程大概需要此量的时间来检测分段故障。

    值范围默认设置分类
    10 - 3600 秒1minmaster

    system

    restart

    gp_fts_probe_retries

    在报告段失败之前,指定故障检测进程(ftsprobe)尝试连接到段的次数。

    值范围默认设置分类
    整数5master

    system

    restart

    gp_fts_probe_threadcount

    值范围默认设置分类
    1 - 12816master

    system

    restart

    gp_fts_probe_timeout

    指定故障检测过程(ftsprobe)允许的超时,以在声明它之前建立与段的连接。

    值范围默认设置分类
    10 - 3600 秒20 秒master

    system

    restart

    gp_log_fts

    控制故障检测进程(ftsprobe) 写入日志文件的细节数量。

    值范围默认设置分类
    OFF

    TERSE

    VERBOSE

    DEBUG

    TERSEmaster

    system

    restart

    gp_log_gang

    控制写入到日志文件中的关于查询工作进程创建和查询管理的信息量。默认值为 OFF,不记录信息。

    值范围默认设置分类
    OFF

    TERSE

    VERBOSE

    DEBUG

    OFFmaster

    session

    restart

    gp_gpperfmon_send_interval

    设置Greenplum数据库服务进程将查询执行更新发送到用数据收集代理进程的频率,该代理进程为Cmmand Center填充 gpperfmon 数据库。 此期间隔期间执行的查询操作通过UDP发送到段监视代理。如果发现在长时间运行的复杂查询中丢了过多的UDP的数据包用户可以考虑增加此值。

    值范围默认设置分类
    任何有效的时间表达式 (数字和单位)1secmaster

    system

    restart

    gpperfmon_log_alert_level

    控制哪些消息级别写入gpperfmon 日志。每个级别包括跟随它的所有级别。级别越后,发送到日志的消息越少。

    注意: 如果 gpperfmon 数据库已经安装并正在监视数据库,则默认值为警告。

    值范围默认设置分类
    none

    warning

    error

    fatal

    panic

    nonelocal

    system

    restart

    gp_hadoop_home

    使用Pivotal HD时,指定Hadoop的安装目录。例如,该默认安装目录是 /usr/lib/gphd。

    使用Greenplum HD 1.2 或更早的版本时,请指定与HADOOP_HOME环境变量相同的值。

    值范围默认设置分类
    有效的目录名HADOOP_HOME的值local

    session

    reload

    gp_hadoop_target_version

    Greenplum Hadoop目标的安装版本。

    值范围默认设置分类
    gphd-1.0

    gphd-1.1

    gphd-1.2

    gphd-2.0

    gphd-3.0

    gpmr-1.0

    gpmr-1.2

    hadoop2

    hdp2

    cdh5

    cdh3u2

    cdh4.1

    gphd-1.1local

    session

    reload

    gp_hashjoin_tuples_per_bucket

    设置HashJoin操作使用的哈希表的目标密度。较小的值将倾向于产生较大的哈希表,这可能增加连接性能。

    值范围默认设置分类
    整数5master

    session

    reload

    gp_idf_deduplicate

    改变计算和处理MEDIAN和PERCENTILE_DISC的策略。

    值范围默认设置分类
    auto

    none

    force

    automaster

    session

    reload

    gp_initial_bad_row_limit

    对于参数值 n,当用户使用COPY 命令或从外部表导入数据时,如果处理的前 n 行包括格式错误,则Greenplum数据库停止处理输入行。如果前 n 行中有处理的有效的行,Greenplum数据库将继续处理输入行。

    设置该值为 0 来禁止该限制。

    也可以为 COPY 命令或者外部表定义指定SEGMENT REJECT LIMIT子句来限定被拒绝的行。

    INT_MAX 是最大能够存储在用户系统上的integer值。

    值范围默认设置分类
    整数 0 - INT_MAX1000master

    session

    reload

    gp_interconnect_fc_method

    指定用于默认的Greenplum数据库UDPIFC互连的流控制方法。

    对于基于容量的流量控制,当接收机不具有容量时,发送方不发送数据包。

    基于丢失的流量控制是基于基于容量的流量控制的,并根据包的丢失情况调整发送速度。

    值范围默认设置分类
    CAPACITY

    LOSS

    LOSSmaster

    session

    reload

    gp_interconnect_hash_multiplier

    设置由Greenplum数据库用于具有默认UDPIFC互连的互连连接的哈希表的大小。该数字乘以段数,以确定哈希表中的桶数。增加该值会增加复杂多片层查询的互连性能(同时在片段主机上占用更多内存)。

    值范围默认设置分类
    2-252master

    session

    reload

    gp_interconnect_queue_depth

    设置由接收器上的Greenplum数据库互连排队的每个对等体的数据量(当数据被接收但没有空间可用于接收数据时,数据将被丢弃,并且发送器将需要重新发送),用于默认的UDPIFC互连。增加深度的默认值将导致系统使用多的内存,但可能提高性能。将此值设置在1到10之间是合理的。具有数据偏移的查询可能会随着队列深度的增加而更好地执行。增加这个值可能会大大增加系统使用的内存量。

    值范围默认设置分类
    1-20484master

    session

    reload

    gp_interconnect_setup_timeout

    指定等待Greenplum数据库互连在超时之前完成设置的时间量。

    值范围默认设置分类
    任何有效的时间表达式 (数字和单位)2 hoursmaster

    session

    reload

    gp_interconnect_snd_queue_depth

    设置发送方默认的UDPIFC互连排队的每个对等端口上的数据量。增加深度默认值将导致系统使用更多内存,但是可能会提高性能。该参数的合理值在1到4之间。增加值可能会大大增加系统使用的内存量。

    值范围默认设置分类
    1 - 40962master

    session

    reload

    gp_interconnect_type

    设置用于Greenplum数据库互连流量的网络协议。UDPIFC指定使用UDP与互连流量的流量控制,并且这是唯一支持的值。

    UDPIFC(默认值)指定使用UDP和互连流量的流量控制。使用指定互连流量控制方法。

    使用TCP作为互连协议,Greenplum数据库具有1000非分段实例的上限-如果查询包含复杂的多分片查询,上限就会小于该值。

    值范围默认设置分类
    UDPIFC

    TCP

    UDPIFClocal

    system

    restart

    gp_log_format

    指定服务器日志文件的格式。如果使用 gp_toolkit 管理模式,日志文件必须是CSV格式。

    值范围默认设置分类
    csv

    text

    csvlocal

    system

    restart

    gp_max_csv_line_length

    将导入到系统的CSV格式文件中的行的最大长度。默认值为1MB(1048576 字节)。最大允许为 4MB(4194184 字节)。如果使用gp_toolkit 管理模式读取Greenplum数据库日志文件,则可能需要增加默认值。

    值范围默认设置分类
    字节数1048576local

    system

    restart

    gp_max_databases

    在Greenplum数据库系统中允许的最大数据库数。

    值范围默认设置分类
    整数16master

    system

    restart

    gp_max_filespaces

    Greenplum数据库系统中允许的最大文件空间数。

    值范围默认设置分类
    整数8master

    system

    restart

    gp_max_local_distributed_cache

    将分布式实务日志条目的最大数量设置到段实例的后台进程内存的cache中。

    日志条目包含正在被SQL语句访问的行状态的信息。在MVCC环境中执行多个同时进行的SQL语句时,该信息用于决定那些行对于SQL实务是可见的。通过提高行可见性确定进程的性能,本地缓存分布式实务日志条目可以提高事务处理速度。

    默认值对于不同的SQL处理环境是最佳的。

    值范围默认设置分类
    整数1024local

    system

    restart

    gp_max_packet_size

    设置Greenplum数据库互连的元组序列块大小。

    值范围默认设置分类
    512-655368192master

    system

    restart

    gp_max_plan_size

    指定查询执行计划的总的最大未压缩的大小乘以计划中移动操作符(切片)的数量。如果查询计划的大小超过该值,则查询将被取消,并返回错误。值为0表示不监视计划的大小。

    用户可以指定一个以 kB,MB,或者 GB。默认单位是 kB。例如,值 200 是 200kB。值 1GB 等同于 1024MB 或者 1048576kB。

    值范围默认设置分类
    整数0master

    superuser

    session

    gp_max_tablespaces

    Greenplum数据库系统允许的最大表空间数量。

    值范围默认设置分类
    整数16master

    system

    restart

    gp_motion_cost_per_row

    设置移动操作符的遗传查询优化器(计划器)的成本估计,该移动操作符将一个行从一个段传输到另一个段,以顺序页面提取的成本为单位。如果为0,则使用的值是 cpu_tuple_cost的两倍。

    值范围默认设置分类
    浮点0master

    session

    reload

    gp_num_contents_in_cluster

    Greenplum数据库系统主段数目。

    值范围默认设置分类
    --read only

    gp_reject_percent_threshold

    对于COPY和外部表SELECT上的单行错误处理,设置在SEGMENT REJECT LIMIT n PERCENT 开始计算之前处理的行数。

    值范围默认设置分类
    1-n300master

    session

    reload

    gp_reraise_signal

    如果启用,如果发生致命的服务器错误,将尝试转存内核。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_resqueue_memory_policy

    启用 Greenplum 内存管理的功能。分布算法 eager_free 利用了一个事实,该事实是不是所有的操作符都在统一个时间执行(在Greenplum数据库 4.2 和 之后的版本)。查询计划被分成几个阶段,Greenplum数据库将在该阶段结束时急速释放分配给前一个阶段的内存,然后将新的内存分配给新阶段。

    当设置为 none,内存管理和Greenplum数据库4.1之前的版本一样。

    当设置为 auto,查询内存使用情况由 和资源队列内存限制来控制。

    值范围默认设置分类
    none, auto, eager_freeeager_freelocal

    system

    restart/reload

    gp_resqueue_priority

    启用或者禁用查询优先级。禁用此参数时,不会再查询运行时评估现有的优先级设置。

    值范围默认设置分类
    Booleanonlocal

    system

    restart

    gp_resqueue_priority_cpucores_per_segment

    指定每个段实例分配的CPU单元数。例如,如果Greenplum数据库集群具有4个段的10个核心段主机,则将段实例的值设置为2.5。对于主实例,该值将为10。主机上通常只有主实例运行在用户其上,因此主机的值应反应所有可用CPU内核的使用情况。

    不正确的设置可能导致CPU利用率不足或查询优先级不能按照设计工作。

    Greenplum Data Computing Appliance V2 上的段默认值是4,而主机上是25。

    值范围默认设置分类
    0.1 - 512.04local

    system

    restart

    gp_resqueue_priority_sweeper_interval

    指定清理进程评估当前CPU使用情况的间隔。当新语句变成活动状态时,将在下一个时间间隔到来之前完成优先级评估和CPU共享的决定。

    值范围默认设置分类
    500 - 15000 ms1000local

    system

    restart

    gp_role

    该服务进程的角色” 对主机设置为 dispatch ,对段设置为 execute

    值范围默认设置分类
    dispatch

    execute

    utility

     read only

    gp_safefswritesize

    指定用于非成熟文件系统中追加优化表的安全写入操作的最小大小。当指定大于0的字节数时候,追加优化写入程序将附加数据添加到该数上,以防止由于文件系统错误导致的数据损坏。当使用具有该类型的文件系统的Greenplum数据库时,每个非成熟文件系统都具有已知的安全写入大小,该大小必须在这里指定。这通常是设置为文件系统的大小的倍数;例如,Linux ext3 是 4096 字节,所以值 32768 时经常使用的。

    值范围默认设置分类
    整数0local

    system

    restart

    gp_segment_connect_timeout

    在超时之前,Greenplum互连将尝试通过网络连接到段实例的时间。控制主段(master)和主要段(primary)之间的网络连接超时,以及主要段(primary)到镜像段之间的复制进程。

    值范围默认设置分类
    任何有效的时间表达式 (数字和单位)10minlocal

    system

    reload

    gp_segments_for_planner

    假设在其成本和大小估计中,设置遗传查询优化器(计划器)主要段实例数。如果为0,则使用的值是实际的主要段数。该变量影响传统优化器对移动操作符中每个发送和接受进程处理的行数的估计。

    值范围默认设置分类
    0-n0master

    session

    reload

    gp_server_version

    以字符串报告服务器的版本号。版本修饰符参数可能会追加到版本字符串的数字部分,例如:5.0.0 beta

    值范围默认设置分类
    String. Examples: 5.0.0n/aread only

    gp_server_version_num

    以数字的形式报告服务器的版本号。该数保证永远对每个版本都是增加的,可以用来数字比较。主要版本是表示为两位数,次要和补丁版本是填充0。

    值范围默认设置分类
    Mmmpp where M is the major version, mm is the minor version zero-padded and pp is the patch version zero-padded. Example: 50000n/aread only

    gp_session_id

    系统为客户端会话分配ID号。当主实例首次启动时,从1开始计数。

    值范围默认设置分类
    1-n14read only

    gp_set_proc_affinity

    如果启动,当Greenplum服务器(postmaster)开始时,它会绑定到CPU。

    值范围默认设置分类
    Booleanoffmaster

    system

    restart

    gp_set_read_only

    设置为on以禁用对数据库的写入。任何正在进行的事务必须必须在只读模式生效之前完成。

    值范围默认设置分类
    Booleanoffmaster

    system

    restart

    gp_snmp_community

    设置为用户的环境指定的社区名称。

    值范围默认设置分类
    SNMP community namepublicmaster

    system

    reload

    gp_snmp_monitor_address

    用户网络监视程序的主机名:端口。通常,端口是162。如果有多个监视器地址,以逗号来分隔。

    值范围默认设置分类
    hostname:port master

    system

    reload

    gp_snmp_use_inform_or_trap

    陷阱通知是一个应用程序发送到另一个应用程序之间的SMTP消息(例如,在Greenplum数据库和网络监视应用程序之间)。这些消息不被监视应用程序所确认,但会产生更少的网络开销。

    提醒通知和陷阱消息一样,除了应用程序会生成警告的应用程序发送确认。

    值范围默认设置分类
    inform

    trap

    trapmaster

    system

    reload

    gp_statistics_pullup_from_child_partition

    当使用遗传查询优化器(计划器)对父表进行计划查询的时,启用子表统计信息的使用。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_statistics_use_fkeys

    当启用时,允许遗传查询优化器(计划器)使用存储在系统目录中的外键信息来优化在外键和主键之间的连接。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    gp_vmem_idle_resource_timeout

    如果一个数据库会话空间时间超过指定时间,会话将释放系统资源(如共享内存),但仍然保持连接到数据库。这允许一次并发连接更多的连接到数据库。

    值范围默认设置分类
    任何有效的时间表达式 (数字和单位)18smaster

    system

    reload

    gp_vmem_protect_limit

    设置活跃段实例的所有postgres进程可以使用的内存量(以MB为单位)。如果查询超出该限制,则不会分配内存,并且查询将失败。请注意,这是本地参数,必须为系统中的每个段(主要段和镜像段)设置。设置参数值时,仅指定数值。例如,要指定4096MB,请使用 4096。不要将单位 MB 添加到该值。

    为了防止内存的过度分配,这些计算可以估计一个安全的 gp_vmem_protect_limit 值。

    首先计算 gp_vmem的值。这是主机上可用的Greenplum数据库内存

    其中 SWAP 是主机交换空间,RAM 是主机上的RAM,以GB为单位。

    接下来,计算 max_acting_primary_segments。这是当镜像段由于故障而被激活时,可以在主机上运行的主要段(primary)的最大数量。对于每个主机,配置有4个主机块,8个段实例。例如,单个段主机故障将,在故障的主机模块每个剩余主机上,激活2或3个镜像段。此配置的 max_acting_primary_segments 值为11(8个主要段加上3个故障后激活的镜像段)。

    这是 gp_vmem_protect_limit的计算。该值应转化为MB。

    对于生成大量工作文件的情况,这是负责工作文件 gp_vmem 的计算。

    1. gp_vmem = ((SWAP + RAM) (7.5GB + 0.05 * RAM - (300KB * total_#_workfiles))) / 1.7

    有关监视和管理工作文件使用情况的信息,请参阅 Greenplum 数据库管理员指南。

    基于 gp_vmem 值用户可以计算 vm.overcommit_ratio 操作系统的内核参数。当配置每个Greenplum数据库主机时,此参数被设置。

    1. vm.overcommit_ratio = (RAM - (0.026 * gp_vmem)) / RAM

    注意: 该内核参数 vm.overcommit_ratio 在Red Hat Enterprise Linux中默认值是50。

    有关内核参数的信息,请参阅 Greenplum数据库安装指南。

    值范围默认设置分类
    整数8192local

    system

    restart

    gp_vmem_protect_segworker_cache_limit

    如果查询执行器进程的消耗此配置的数量,则该进程将不会被缓存以备在进程完成后的后续查询中使用。具有大量连接或空闲进程的系统可能希望减少此数量以释放段上的更多内存。请注意,这是一个本地参数,必须为每个段设置。

    值范围默认设置分类
    兆字节数500local

    system

    restart

    gp_workfile_checksumming

    向 HashAgg 和 HashJoin 查询操作符使用的工作文件(或益出文件)的每个块添加校验和值。这增加了从错误的OS磁盘驱动程序将错误的块写入磁盘的额外保护措施。当校验和操作失败时,查询将取消并回滚,而不是潜在地将数据写入磁盘。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    gp_workfile_compress_algorithm

    当查询处理期间散列聚合或散列连接操作溢出到磁盘时,指定要在溢出文件上要使用的压缩算法。如果使用zlib,它必须在所有段的$PATH中。

    如果用户的 Greenplum数据库安装使用串行ATA (SATA) 磁盘驱动器,则将此参数的值设置为 zlib 可能有助于避免IO操作超载磁盘子系统。

    值范围默认设置分类
    none

    zlib

    nonemaster

    session

    reload

    gp_workfile_limit_files_per_query

    设置每个段每个查询允许的临时溢出文件(也称工作文件)的最大数量。当执行需要比分配内存更多的内存的查询时,会创建溢出文件。当超过限制时,当前查询终止。

    将值设置为0(零)以允许无限数量的溢出文件。主会话重新加载。

    值范围默认设置分类
    整数100000master

    session

    reload

    gp_workfile_limit_per_query

    设置单个查询允许用于在每个段创建临时溢出文件的最大磁盘大小。默认值为0,这意味着不强制执行限制。

    值范围默认设置分类
    千字节0master

    session

    reload

    gp_workfile_limit_per_segment

    设置允许所有运行查询用于在每个段创建临时溢出文件的最大磁盘大小。默认值为0,这意味着不强制执行限制。

    值范围默认设置分类
    千字节0local

    system

    restart

    gpperfmon_port

    设置所有数据收集代理(对于CommandCenter)与主机通信的端口。

    值范围默认设置分类
    整数8888master

    system

    restart

    整数_datetimes

    报告 PostgreSQL 是否支持64位整数日期和时间。

    值范围默认设置分类
    Booleanonread only

    IntervalStyle

    设置间隔值的显示形式。sql_standard 值产生输出匹配SQL标准间隔字面值。当 DateStyle 参数设置为ISO时,postgres 值产生输出匹配PostgreSQL8.4之前的发行版本。

    当 参数设置为 non-ISO 输出时,postgres_verbose 值产生输出匹配 Greenplum 3.3之前的发行版本。

    iso_8601 值产生与ISO 8601第4.4.3.2节中定义的 format with designators 时间间隔相匹配的输出。有关详细信息,请参阅 PostgreSQL 文档

    值范围默认设置分类
    postgres

    postgres_verbose

    sql_standard

    iso_8601

    postgresmaster

    session

    reload

    join_collapse_limit

    每当列表总数不超过这么多项目时,该遗传查询优化器(计划器)将会重写明确的内部 JOIN 结构到 FROM 项目的列表中。 默认的是,这个变量与from_collapse_limit相同,这适用于大多数用途,将此变量设置为1可防止内部链接重新排序。将此变量设置为1和 from_collapse_limit 之间的值可能有助于根据所选计划的质量来衡量计划时间。

    值范围默认设置分类
    1-n20master

    session

    reload

    keep_wal_segments

    对于Greenplum数据库主镜像,如果检查点操作发生,则设置由活跃的Greenplum数据库主机保存的最大的WAL段文件数。

    段文件用来在备用主机上同步活跃的主机。

    值范围默认设置分类
    整数5master

    system

    reload

    superuser

    krb_caseins_users

    设置Kerberos用户名是否应该被区分大小写。默认值是区分大小写(off状态)。

    值范围默认设置分类
    Booleanoffmaster

    system

    restart

    krb_server_keyfile

    设置Kerberos 服务器秘钥(key)文件的位置。

    值范围默认设置分类
    路径和文件名unsetmaster

    system

    restart

    krb_srvname

    设置 Kerberos 服务名称。

    值范围默认设置分类
    服务名postgresmaster

    system

    restart

    lc_collate

    报告文本数据排序完成的场所。该值是在Greenplum数据库数组初始化时确定的。

    值范围默认设置分类
    <依赖于系统> read only

    lc_ctype

    报告确定字符分类的范围。该值是在Greenplum数据库数组初始化时确定的。

    值范围默认设置分类
    <依赖于系统> read only

    lc_messages

    设置显示消息的语言。可用的范围取决于用户的操作系统安装的内容-使用 locale -a 来列出所有可用的范围。默认值是从服务器执行环境中继承的。在某些系统上,此设置类型不存在。设置此变量仍然有效,但是不会有任何影响。此外,有一个机会没有翻译信息所需语言的存在,这种情况下,用户讲继续看到英文讯息。

    值范围默认设置分类
    <依赖于系统> local

    system

    restart

    lc_monetary

    设置用于格式化金额的区域设置(部分,locale),例如使用 to_char函数系列。可用的区域设置取决于用户安装操作系统的内容 -使用locale -a 可以列出可用的区域设置。默认值从服务器的执行环境继承。

    值范围默认设置分类
    <依赖于系统> local

    system

    restart

    lc_numeric

    设置用于格式化数字的区域设置,例如使用 to_char 函数系列。可用的区域设置取决用户的操作系统安装的内容-使用 locale -a 来列出所有可用的区域设置。默认值是从服务器的执行环境继承。

    值范围默认设置分类
    <依赖于系统> local

    system

    restart

    lc_time

    该参数目前没有什么用,但是将来可能会有用。

    值范围默认设置分类
    <依赖于系统> local

    system

    restart

    listen_addresses

    指定服务器要监听客户端程序的TCP/IP地址- 逗号分隔的主机名和,或数字IP地址。特殊的项 * 对应于所有可用的IP接口。如果列表为空,则只能连接UNIX域的套接字。

    值范围默认设置分类
    localhost,

    host names,

    IP addresses,

    (all available IP interfaces)

    master

    system

    restart

    local_preload_libraries

    逗号分隔的共享库文件的列表,该列表将在客户端会话开始时预加载。

    值范围默认设置分类
      local

    system

    restart

    log_autostats

    记录有关 和 gp_autostats_on_change_threshold的自动 ANALYZE 操作的信息的日志。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    superuser

    log_connections

    这将向服务器日志输出一条详细说明每个成功连接的详细信息。某些客户端程序(向psql)在确定是否需要密码时尝试连接两次,因此重复的”连接接收“消息并不总是指示着问题。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    log_disconnections

    这将在客户端会话终止时在服务器日志中输出一行,并包括会话的持续时间。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    log_dispatch_stats

    当设置为“on”时候,该参数添加一条有关语句发送的详细信息的日志消息。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    log_duration

    会导致每个满足 log_statement 的已完成语句的持续时间都会被记录。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    superuser

    log_error_verbosity

    控制记录在每个消息的服务器日志中写入的详细信息量。

    值范围默认设置分类
    TERSE

    DEFAULT

    VERBOSE

    DEFAULTmaster

    session

    reload

    superuser

    log_executor_stats

    对于每个查询,将查询执行程序的性能统计信息写入服务器日志。这是一个粗糙的剖析仪器,无法和 log_statement_stats一起使用。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    log_hostname

    默认情况下,连接日志消息仅显示连接主机和IP地址。打开此选项可以记录Greenplum数据库主机的IP地址和主机名。请注意,根据用户主机名决定设置,这可能会施加一个不可忽视的性能惩罚,无法和log_statement_stats一起使用。

    值范围默认设置分类
    Booleanoffmaster

    system

    restart

    log_min_duration_statement

    如果其持续时间大于或等于指定的毫秒数,则将该语句及其持续时间记录子单个日志行上。将其设置为0会打印所有语句和它们的持续时间。例如,如果用户设置其为250,然后所有执行时间大于250ms的SQL语句将会记录到日志上。启用该选项可用于在用户的应用中追踪未优化查询。

    值范围默认设置分类
    毫秒数, 0, -1-1master

    session

    reload

    superuser

    log_min_error_statement

    控制是否会在服务器日志中记录引发错误情况的SQL的语句。所有导致指定级别或者更高级别错误的SQL语句都被记录。默认值为PANIC(有效的关闭此功能以正常使用)。启用此选项有助于追踪出现在服务器日志中的任何错误的来源。

    值范围默认设置分类
    DEBUG5

    DEBUG4

    DEBUG3

    DEBUG2

    DEBUG1

    INFO

    NOTICE

    WARNING

    ERROR

    FATAL

    PANIC

    ERRORmaster

    session

    reload

    superuser

    log_min_messages

    控制那些消息级别写入服务器日志。每个级别包括跟随它(它之后)的所有级别,级别越靠后,发送到日志的消息越少。

    值范围默认设置分类
    DEBUG5

    DEBUG4

    DEBUG3

    DEBUG2

    DEBUG1

    INFO

    NOTICE

    WARNING

    LOG

    ERROR

    FATAL

    PANIC

    WARNINGmaster

    session

    reload

    superuser

    log_parser_stats

    对于每个查询,将查询解析器的性能统计信息写入服务器日志。这是一个粗糙的剖析仪器。无法与 log_statement_stats一起使用。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    superuser

    log_planner_stats

    对于每个查询,将遗传查询优化器(计划程序)的性能统计信息写入服务器日志。这是一个粗糙的剖析仪器。无法与 log_statement_stats一起使用。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    superuser

    log_rotation_age

    确定单个日志文件的最长生命周期,在这段时间之后,将创建一个新的日志文件。设置为0以禁用基于时间的日志文件的创建。

    值范围默认设置分类
    任何有效的时间表达式 (数字和单位)1dlocal

    system

    restart

    log_rotation_size

    确定单个日志文件的最大大小。这么多千字节被发射到日志文件之后,将创建一个新的日志文件。设置为0以禁用基于大小的新的日志文件的创建。

    最大值为 INT_MAX/1024。如果指定了无效值,则使用默认值。INT_MAX 是可以作为整数存储在系统上的最大值。

    值范围默认设置分类
    千字节数0local

    system

    restart

    log_statement

    控制记录那些SQL语句。DDL记录所有数据定义命令,如 CREATE,ALTER,和 DROP 命令。MOD记录所有DDL语句,加上INSERT,UPDATE,DELETE,TRUNCATE和COPY FROM。如果它们包含的命令是适当的类型,则还会记录PREPARE 和 EXPLAIN ANALYZE 语句。

    值范围默认设置分类
    NONE

    DDL

    MOD

    ALL

    ALLmaster

    session

    reload

    superuser

    log_statement_stats

    对于每个查询,将查询解析器,计划程序和执行程序的总体性能统计信息写入服务器日志。这是一个粗糙的剖析仪器。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    superuser

    设置用于记录在日志中的时间戳使用的时区。与 不同,该值是系统范围内的,因此所有会话将一致的报告时间戳。默认值是 unknown,这意味着使用系统环境指定的时区作为时区。

    值范围默认设置分类
    stringunknownlocal

    system

    restart

    log_truncate_on_rotation

    max_appendonly_tables

    设置可以写入或更新追加优化表的并发事务的最大数量。超过最大数量的事务将返回错误。

    计数的操作是 INSERT,UPDATE, COPY 和 VACUUM 操作。该限制仅限于正在进行的事务。一旦事务结束(终止或者提交),它不再计入此限制。

    对于针对分区表的操作,作为追加优化表并被更改的每个子分区(字表)被计为最大值的单个表。例如,分区表 p_tbl 被定义为具有追加优化表 p_tbl_ao1,p_tbl_ao2,和 p_tbl_ao3的三个自分区。针对改变追加优化表 p_tbl_ao1 和 p_tbl_ao2的分区表p_tbl 的 INSERT 或 UPDATE 命令被计为两个事务。

    增加该限制值,将在服务器开始时,在主机上分配更多的共享内存。

    值范围默认设置分类
    整数 > 010000master

    system

    restart

    max_connections

    与数据库服务器并发连接的最大数量。在Greenplum数据库系统中,用户客户端仅连通Greenplum主实例。段实例应允许的数量应该是主实例数量的5-10倍。增加此参数时, 也必须要增加。更多关于限制并发连接的信息,参阅Greenplum数据库管理员指南的“配置客户端身份验证”。

    增加此参数可能会导致Greenplum数据库要求更多的共享内存。有关Greenplum服务器实例共享内存缓存区的信息,请参阅 shared_buffers

    值范围默认设置分类
    10-nMaster上是250

    Segment上是750

    local

    system

    restart

    max_files_per_process

    设置允许每个服务器子进程同时打开文件的最大数量。如果内核正在执行每个进程的安全限制,则不需要担心此设置。一些平台,例如BSD,内核将允许单个进程打开比系统真正支持的更多文件数目。

    值范围默认设置分类
    整数1000local

    system

    restart

    max_fsm_pages

    设置在共享空闲内存映射中追踪的可用空间的最大磁盘页数。每个页面槽都占用了6个字节的共享内存。

    值范围默认设置分类
    整数 > 16 * max_fsm_relations200000local

    system

    restart

    max_fsm_relations

    设置在共享内存空间映射中可追踪空闲空间的最大关系数。应设置为大于总数的值:

    表 + 索引 + 系统表。

    对于每个段实例的每个关系,它花费了大约60个字节的内存。最好放大一点空间,设置高一点而不是太低。

    值范围默认设置分类
    整数1000local

    system

    restart

    max_function_args

    报告函数参数的最大数目。

    值范围默认设置分类
    整数100read only

    max_identifier_length

    报告最大标识符长度。

    值范围默认设置分类
    整数63read only

    max_index_keys

    报告索引键的最大数目。

    值范围默认设置分类
    整数32read only

    max_locks_per_transaction

    共享锁表的创建带有描述在 max_locks_per_transaction * (max_connections + max_prepared_transactions) 对象上的锁,所以在一次不能将多于这么多的不同的对象锁住。这不是任何一个事务所占锁数量的硬限制,而是最大平均值。如果客户端在单个事务中涉及多张不同的表,用户可能需要提升该值。

    值范围默认设置分类
    整数128local

    system

    restart

    max_prepared_transactions

    设置能同时处于准备状态的最大事务数。 Greenplum 在内部使用准备好的事务来确保数据跨段的完整性。该值至少和主机上的 值一样大。段实例应设置与主机相同的值。

    值范围默认设置分类
    整数250 on master

    250 on segments

    local

    system

    restart

    max_resource_portals_per_transaction

    设置每个事务允许同时打开用户声明游标的最大数量。请注意,打开的游标将在资源维持一个查询节点。用于工作负载管理。

    值范围默认设置分类
    整数64master

    system

    restart

    max_resource_queues

    设置可在Greenplum数据库系统中创建的资源队列的最大数量。请注意,资源队列是系统范围内的(和角色一样),因此他们适用于系统中的所有数据库。

    值范围默认设置分类
    整数9master

    system

    restart

    max_stack_depth

    指定服务器栈的最大安全执行深度。此参数的理想设置是内核执行的实际的栈大小限制(由 ulimit -s 或本地等效设置),少于一个兆字节的安全边距。将参数设置为高于实际内核限制将意味着失控的递归函数可能导致单个后端进程崩溃。

    值范围默认设置分类
    千字节数2MBlocal

    system

    restart

    max_statement_mem

    设置查询的最大内存限制。将 statement_mem 设置得太高,有助于在查询处理期间避免段主机上的内存不足的错误。当 \=auto时, statement_mem 和 资源队列内存限制了控制查询内存的使用。考虑到单个段主机的配置,计算该设置如下:

    (seghost_physical_memory) / (average_number_concurrent_queries)

    值范围默认设置分类
    千字节数2000MBmaster

    session

    reload

    superuser

    optimizer

    运行SQL查询时启用或禁用GPORCA。 默认值为 on。如果禁用GPORCA,Greenplum数据库仅使用遗传查询优化器。

    GPORCA 和遗传查询优化器共存。启用GPORCA后,Greenplum数据库使用GPORCA在可能时为查询生成执行计划。如果GPORCA不可用,则使用遗传查询优化器。

    可以为数据库系统,单个数据库,会话或查询 optimizer(优化器)参数。

    有关遗传查询优化器和GPORCA的信息,请参阅 Greenplum数据库管理员指南中的“查询数据”。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    optimizer_analyze_root_partition

    对于分区表,当在表上运行 ANALYZE 命令时收集根分区的统计信息。 GPORCA 使用根分区统计信息来生成一个查询计划。而遗传查询优化器并不使用这些数据。如果用户设置服务器配置参数 optimizer 的值为on,请将此参数设置为on,并在分区表上运行ANALYZE 或 ANALYZE ROOTPARTITION命令来确保收集到正确的统计信息。

    有关遗产查询优化器和GPORCA的信息,请参阅 Greenplum数据库管理员指南的“查询数据”。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    optimizer_array_expansion_threshold

    当启用(默认值)GPORCA时候并且正在处理包含具有常量数组的谓词的查询时,该 optimizer_array_expansion_threshold 参数将根据数组中的常量数限制优化过程。如果当前查询谓词中的数组包含多于参数指定的数字元素,则GPORCA在查询优化期间禁用将谓词转换为其分离的正常格式。

    默认值为25。

    例如,当GPORCA正在执行超过25个元素的 IN 子句查询时,GPORCA 在查询优化期间不会将谓词转化为其分离的正常格式,以减少优化时间,消耗更小的内存。查询处理的差异可以在查询EXPLAIN 计划的IN子句的过滤条件中看到。

    更改此参数的值会换来更小的优化时间和更少的内存消耗,以及在查询优化期间的约束导出的潜在优势,例如冲突监测和分区消除。

    可以为数据库系统,单个数据库,会话或查询设置该参数。

    值范围默认设置分类
    Integer > 025master

    session

    reload

    optimizer_control

    控制是否可以使用SET,RESET 命令或 Greenplum 数据库实用程序 gpconfig更改服务器配置参数优化程序。如果 optimizer_control 参数值为 on,则用户可以设置 optimizer 参数。如果 optimizer_control 参数值为 off,则 optimizer 参数不能被改变。

    值范围默认设置分类
    Booleanonmaster

    system

    restart

    superuser

    optimizer_cte_inlining_bound

    启用GPORCA(默认值)时, 此参数控制对公共表达式(CTE)查询(包含 WHERE 子句的查询)执行的内联量。默认值为“0”禁用内联。

    可以为数据库系统,单个数据库或会话或查询设置该参数。

    值范围默认设置分类
    Decimal >= 00master

    session

    reload

    optimizer_enable_master_only_queries

    启用GPORCA(默认值)时,此参数允许GPORCA执行仅在Greenplum数据库主机上运行的目录查询。对于默认值 off,只有遗传查询优化器才能执行仅在Greenplum数据库主机上运行的目录查询。

    可以为数据库系统,单个数据库会会话或查询设置该参数。

    注意: 启用此参数会降低运行中的短目录查询的性能。为了避免此问题,请仅为会话或查询设置此参数。

    有关GPORCA的信息,请参阅 Greenplum数据库管理员指南。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    optimizer_force_multistage_agg

    对于默认设置,启用GPORCA并且此参数为 true,当生成此类计划备选项时,GPORCA 会选择标量不同的合格聚合的3个阶段聚合计划。当值为 false时,GPORCA 会基于代价作出选择,而不是启发式选择。

    可以为数据库系统,单个数据库,会话或查询设置该参数。

    值范围默认设置分类
    Booleantruemaster

    session

    reload

    optimizer_force_three_stage_scalar_dqa

    对于默认设置,启用GPORCA并且此参数为 true,当生成此类计划备选方案时,GPORCA 会选择具有多级聚合的计划。当值为false时,GPORCA会基于成本作出选择,而不是启发式选择。

    可以为数据库系统,单个数据库,会话或查询设置该参数。

    值范围默认设置分类
    Booleantruemaster

    session

    reload

    optimizer_join_order_threshold

    当启用GPORCA(默认值)时,该参数设置连接子节点的最大数量,GPORCA 将使用基于动态编程连接排序算法为该子节点排序。用户可以为单个查询或整个会话设置此值。

    值范围默认设置分类
    0 - INT_MAX10master

    session

    reload

    optimizer_mdcache_size

    设置GPORCA在查询优化期间用于缓存查询元数据(优化数据)的Greenplum数据库主机上的最大内存量。基于内存限制会话。GPORCA 使用默认设置在查询优化期间缓存元数据:启用GPORCA并且 为 on。

    默认值为 16384 (16MB)。这是通过性能分析确定的最佳值。

    用户可以以KB,MB,或GB为单位指定值。默认单位是KB。例如,值16384 为 16384KB。值1GB 等同为 1024MB 或 1048576KB。如果值为0,则缓存大小不收限制。

    可以为数据库系统,单个数据库,会话或查询设置此参数。

    值范围默认设置分类
    Integer >= 016384master

    session

    reload

    optimizer_metadata_caching

    当启用GPORCA(默认值)时,该参数指定在查询优化期间,GPORCA是否在Greenplum数据库主机的内存中缓存查询元数据(优化数据)。 该参数的默认值为 on,启用缓存。该缓存是基于会话的。当会话结束时,如果查询元数据量超过缓存大小,则旧的未使用的元数据将从缓存中释放。

    如果该值为 off,GPORCA 在查询优化期间不缓存元数据。

    可以为数据库系统,单个数据库,会话或查询设置此参数。

    服务器配置参数 控制查询元数据缓存的大小。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    optimizer_minidump

    GPORCA 生成 minidump 文件来描述给定查询的优化上下文。文件中的信息不是可以用来方便地调试和排除故障的格式。minidump 文件位于主数据目录下,并使用以下命名格式:

    Minidump_date_time.mdp

    minidump 文件包含查询相关的信息:

    • 目录对象包括GPORCA要求的数据类型,表格,操作符和统计信息。
    • 查询的内部表示(DXL)。
    • GPORCA制定的计划的内部表示(DXL)。
    • 传递给GPORCA的系统配置信息,如服务器配置参数,成本和统计信息配置,以及段的数量。
    • 在优化查询时,生成的错误堆栈跟踪。

    将此参数设置为 ALWAYS 会为所有查询生成一个minidump。将此参数设置为ONERROR 以最小化总优化时间。

    关于GPORCA的信息,参阅 Greenplum数据库管理员指南的“查询数据”。

    值范围默认设置分类
    ONERROR

    ALWAYS

    ONERRORmaster

    session

    reload

    optimizer_nestloop_factor

    启用GPORCA(默认值)时,该参数控制在查询优化期间应用的嵌套循环连接代价因子,该默认值为 1,指定了默认排序代价因子。该值表示的是从默认因子中减去或者增加的一个比率。例如,2.0 将代价因子设置为默认值的2倍。此外,值 0.5 将代价因子设置为默认值的一半。

    可以为数据库系统,单个数据库,会话或查询设置该参数。

    值范围默认设置分类
    Decimal > 01master

    session

    reload

    optimizer_parallel_union

    启用GPORCA(默认值)时,optimizer_parallel_union 控制对包含 UNION 或 UNION ALL 子句的查询的并行化的数量。

    当该值为 off时,默认值GPORCA会生成一个查询计划,其中APPEND(UNION) 操作符的每个子节点与在同一个片段,该片段和APPEND操作符一样。 在查询执行期间,子节点以顺序的方式执行。

    当该值是 on,GPORCA 生成一个查询计划,其中再分配移动节点在 APPEND(UNION)操作符之下。在查询优化期间,子节点和父APPEND操作符在不同的片段上,允许APPEND(UNION)操作符的子进程在段实例上并行执行。

    可以为数据库系统,单个数据库,会话或查询设置该参数。

    值范围默认设置分类
    booleanoffmaster

    session

    reload

    optimizer_print_missing_stats

    当启用 GPORCA(默认值),该参数控制关于查询缺少统计信息的列的表列信息的显示。默认值为 true,将列信息显示给客户端。当为 false,该信息不回发送到客户端。

    信息在查询执行期间显示,或使用 EXPLAIN 或 EXPLAIN ANALYZE 命令显示。

    可以为数据库系统,单个数据库会会话设置该参数。

    值范围默认设置分类
    Booleantruemaster

    session

    reload

    optimizer_print_optimization_stats

    当启用GPORCA(默认值)时,该参数可以启用对查询各种优化阶段的GPORCA查询优化统计信息的日志记录。默认值为 off,不记录优化统计信息。要记录优化统计信息,必须将此参数设置为 on ,并将参数 client_min_messages 必须设置为 log。

    • set optimizer_print_optimization_stats = on;
    • set client_min_messages = ‘log’;

    在查询执行期间或使用 EXPLAIN 或 EXPLAIN ANALYZE 命令记录信息。

    可以为数据库系统,单个数据库,会话或查询设置此参数。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    optimizer_sort_factor

    当启用GPORCA(默认值)时,optimizer_sort_factor 控制在查询优化期间应用于排序操作的代价因子。该默认值为 1 指定了默认排序的代价因子。该值是在默认因子增加或者减少的比率。例如,值 2.0 将成本因子设置为默认值的2倍,值 0.5 将成本因子设置为默认值的一半。

    可以为数据库系统,单个数据库,会话或查询设置该参数。

    值范围默认设置分类
    Decimal > 01master

    session

    reload

    password_encryption

    当在 CREATE USER 或 ALTER USER 中指定密码而没有写入 ENCRYPTED 或 UNENCRYPTED字段时,该参数决定是否对密码进行加密。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    password_hash_algorithm

    指定在存储加密的Greeenplum数据库用户密码时使用的加密散列算法。默认的算法是MD5。

    有关设置密码散列算法以保护用户密码的信息,请参阅 Greenplum数据库管理员指南中的“在Greenplum数据库中保护密码”。

    值范围默认设置分类
    MD5

    SHA-256

    MD5master

    session

    reload

    superuser

    pgstat_track_activity_query_size

    设置存储在系统目录视图pg_stat_activity中的 current_query列中的查询文本的最大长度限制。最小长度为1024字节。

    值范围默认设置分类
    整数1024local

    system

    restart

    pljava_classpath

    冒号(:)分隔的jar文件或包含PL/Java函数所需的jar文件的目录的列表。必须指定jar文件或目录的完整路径,除非 $GPHOME/lib/postgresql/java 目录中的jar文件可以省略路径。jar文件必须安装在所有Greenplum主机上的相同位置,并可由 gpadmin 用户读取。

    pljava_classpath 参数用于在每个用户会话开始时组合 PL/Java 类路径。会话启动后添加的jar文件不可用于该会话。

    如果在 pljava_classpath 完整的jar文件的路径,则将其添加到PL/Java 类路径。当指定了一个目录,该目录包含任何jar文件都会被添加到PL/Java 类路径。搜索不会下降到指定目录的子目录中。如果 pljava_classpath 中包含的jar文件没有路径,则该jar文件必须在 $GPHOME/lib/postgresql/java 目录中。

    注意: 如果有很多目录要搜索,或者有很多的jar文件,这将会影响性能。

    如果 pljava_classpath_insecure 为 false,设置 pljava_classpath 参数需要超级用户权限。当代码由没有超级用户权限的用户执行时,在SQL代码中设置类路径将会失败。该 pljava_classpath 参数必须先前由超级用户或在 postgresql.conf 文件中设置。在 postgresql.conf 文件中改变类路径需要重载 (gpstop -u)。

    值范围默认设置分类
    string master

    session

    reload

    superuser

    pljava_classpath_insecure

    控制服务器配置参数 pljava_classpath 是否可以由用户设置,而无需Geenplum数据库的超级用户权限。当为真 true时,pljava_classpath 可以由常规用户设置。否则, 只能由数据库超级用户设置。 默认值为 false。

    警告: 启用此参数给非管理员数据库用户运行未经授权的Java方法可能的风险。

    值范围默认设置分类
    Booleanfalsemaster

    session

    restart

    superuser

    pljava_statement_cache_size

    为准备语句设置JRE MRU(最近常使用的)缓存的大小(KB)。

    值范围默认设置分类
    千字节数10master

    system

    restart

    superuser

    pljava_release_lingering_savepoints

    如果为真,PL/Java 函数中使用的保留点将在函数退出时释放。如果为false,则保留点将会被回滚。

    值范围默认设置分类
    Booleantruemaster

    system

    restart

    superuser

    pljava_vmoptions

    定义Java VM的启动选项。默认值是空的字符串(“”)。

    值范围默认设置分类
    string master

    system

    restart

    superuser

    port

    一个Greenplum数据库实例的监听端口。主站和每个段都有自己的端口。必须在 gp_segment_configuration 目录中更改Greenplum系统的端口号。用户必须在更改端口号之前关闭用户的Greenplum数据库系统。

    值范围默认设置分类
    any valid port number5432local

    system

    restart

    random_page_cost

    设置遗传查询优化器(计划程序)的非连续读取的磁盘页面的成本估计。这是以顺序页面提取的成本的倍数来衡量的。更高的值使得更可能使用顺序扫描,较低的值使得更可能使用索引扫描。

    值范围默认设置分类
    浮点100master

    session

    reload

    readable_external_table_timeout

    当SQL从外部表读取时候,参数值指定当数据停止从外部表返回时,Greenplum数据库在取消查询之前等待查询的时间(以秒为单位)。

    默认值为 0,指明没有时间限制,Greenplum数据库不会取消查询。

    如果使用gpfdist的查询运行了很长时间,然后返回错误“间歇性网络连接问题”,则用户可以为readable_external_table_timeout指定一个值。如果gpfdist在指定的时间内没有返回任何数据,则Greenplum将取消查询。

    值范围默认设置分类
    整数 >= 00master

    system

    reload

    repl_catchup_within_range

    对Greenplum数据库主镜像,控制对活跃主机的更新。如果没有由 walsender 处理的WAL段文件的数量超过此值,则Greenplum数据库会更新活跃的主机。

    如果段文件的数量没有超过此值,则Greenplum数据库将阻止更新以允许 walsender 处理文件。如果所有的WAL段都被处理了,则更新活跃的主机。

    值范围默认设置分类
    0 - 641master

    system

    reload

    superuser

    replication_timeout

    对Greenplum数据库主机镜像,设置活跃主机上的 walsender 进程等待备用主机上的walreceiver 进程的状态消息的最大时间。如果没有收到信息,walsender 会记录一条错误信息。

    The wal_receiver_status_interval 控制 walreceiver 状态信息之间的间隔。

    值范围默认设置分类
    0 - INT_MAX60000 ms (60 seconds)master

    system

    reload

    superuser

    regex_flavor

    ‘扩展’设置可能有助于与PostgreSQL7.4之前的版本精确的向后兼容。

    值范围默认设置分类
    advanced

    extended

    basic

    advancedmaster

    session

    reload

    resource_cleanup_gangs_on_wait

    如果通过资源队列提交语句,则在资源队列进行锁定之前,请清理任何空闲的查询执行工作进程。

    值范围默认设置分类
    Booleanonmaster

    system

    restart

    resource_select_only

    设置资源队列管理的查询类型。如果设置为on,则会对 SELECT,SELECT INTO,CREATE TABLE AS SELECT 和 DECLARE CURSOR 进行评估。如果设置为off,则也会对 INSERT,UPDATE 和 DELETE 命令也将被评估。

    值范围默认设置分类
    Booleanoffmaster

    system

    restart

    runaway_detector_activation_percent

    设置触发终止查询的Greenplum数据库vmem内存的百分比。如果用Greenplum数据库段的vmem内存的百分比超过了指定的值,那么Greenplum会根据内存的使用情况终止查询,从消耗内存最大量的查询开始。直到被使用的vmem的百分比低于指定的百分比为止,查询才被终止。

    使用服务器配置参数 指定活跃的Greenplum数据库段实例的最大vmem值。

    例如,如果vmem 内存设置到10GB,并且 runaway_detector_activation_percent 为 90(90%),当使用的vmem内存量超过9GB时,Greenplum数据库将禁用查询的自动终止。

    值为0禁用基于使用vmem百分比的查询。

    值范围默认设置分类
    percentage (integer)90local

    system

    restart

    search_path

    当在没有模式组件的简单名称引用对象时,指定模式被搜索的顺序。当在不同的模式中存在同名的对象,将使用在搜索路径中首先找到的对象。系统目录模式, pg_catalog,始终被搜索,无论是否在路径中提及。当创建对象没有指定目标模式时,它们会被放在搜索路径的第一个模式中。可以通过SQL函数 current_schemas()检查搜索路径当前的有效值。current_schemas() 显示如何解决出现在 search_path 的请求。

    值范围默认设置分类
    a comma- separated list of schema names$user,publicmaster

    session

    reload

    seq_page_cost

    对于遗传查询优化器(计划器),设置作为一系列顺序提取的一部分的磁盘页面提取的成本估计。

    值范围默认设置分类
    浮点1master

    session

    reload

    server_encoding

    报告数据库编码(字符集)。确定Greenplum数据库数组何时被初始化。通常,客户端只需关心 client_encoding的值。

    值范围默认设置分类
    <依赖于系统>UTF8read only

    server_version

    报告该Greenplum数据库发行版基于的PostgreSQL的版本。

    值范围默认设置分类
    string8.3.23read only

    server_version_num

    报告该Greenplum数据库发行版基于的PostgreSQL的整数版本。

    值范围默认设置分类
    整数80323read only

    shared_buffers

    设置Greenplum数据库段实例用户共享内存的内存量。此设置必须至少为128KB并且至少16KB倍的 max_connections数。

    每个Greenplum数据库段实例根据段配置计算并尝试分配一定量的共享内存。 shared_buffers 是共享内存计算的重要部分,但不是全部。当设置 shared_buffers时,操作系统参数 SHMMAX 或 SHMALL 的值可能也需要调整。

    操作系统参数 SHMMAX 指定了单个共享内存分配的最大大小。 SHMMAX 的值必须大于此值:

    other_seg_shmem 的值是Greenplum数据库共享内存计算的部分,这不是由 shared_buffers 值所负责的。 other_seg_shmem 的值将根据段配置而有所不同。

    使用默认的Greenplum数据库参数的值, other_seg_shmem 的值,对于Greenplum数据库段大约是111MB,而对于主机大约是79MB。

    该操作系统参数 SHMALL 指定主机上共享内存的最大数量。SHMALL 必须大于此值:

    other_app_shared_mem 值是主机上其他应用程序和进程使用的共享内存量。

    当共享内存分配出现错误,解决共享内存分配问题的可能方法是增加 SHMMAX 或 SHMALL或 减少 shared_buffers 或 max_connections。

    有关参数 SHMMAX 和 SHMALL的Greenplum数据库值的信息,请参考“Greenplum数据库安装指南”。

    值范围默认设置分类
    整数 > 16K * max_connections125MBlocal

    system

    restart

    shared_preload_libraries

    在服务器启动时预先加载的共享库的逗号分隔列表。 PostgreSQL过程语言可以这样预先加载,通常通过使用语法‘$libdir/plXXX‘,其中 XXX 是 pgsql, perl, tcl, 或 python。通过预先加载库,库首次使用时候,可以避免库启动时间。如果未找到指定的库,则服务器将无法启动。如果未找到指定的库,则服务器将无法启动。

    值范围默认设置分类
      local

    system

    restart

    ssl

    启用 SSL 连接。

    值范围默认设置分类
    Booleanoffmaster

    system

    restart

    ssl_ciphers

    指定允许在安全连接上使用的SSL密码列表。有关支持的密码列表,请参阅openssl手册页。

    值范围默认设置分类
    stringALLmaster

    system

    restart

    standard_conforming_strings

    确定普通字符串文字(‘…’)是否按照SQL标准中的规定字面处理反斜杠。默认值为on。关闭此参数以将字符串文字中的反斜杠视为转义字符而不是字面反斜杠。应用程序可以检查此参数以确定如何处理字符串文字。此参数的存在也可以作为支持转义字符串语法(E‘…’)的指示。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    statement_mem

    为每个查询分配主机内存。使用此参数分配的内存量不能超过 max_statement_mem 或查询提交的资源队列上的内存限制。当 =auto时,statement_mem 和资源队列内存限制了控制查询内存的使用。

    如果查询需要额外的内存,则会使用磁盘上的临时溢出文件。

    该计算可用于估计各种情况下的合理值。

    1. ( gp_vmem_protect_limitGB * .9 ) / max_expected_concurrent_queries

    将 gp_vmem_protect_limit 设置为 8192MB (8GB) 并假设最大40个并发查询和10%的缓冲区。

    1. (8GB * .9) / 40 = .18GB = 184MB
    值范围默认设置分类
    千字节数128MBmaster

    session

    reload

    statement_timeout

    终止任何占据了指定毫秒数量的语句。0为关闭该限制。

    值范围默认设置分类
    毫秒数0master

    session

    reload

    stats_queue_level

    收集数据库活动的资源队列的统计信息。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    superuser_reserved_connections

    决定为Greenplum数据库超级用户保留的连接节点的数量。

    值范围默认设置分类
    整数 < max_connections3local

    system

    restart

    tcp_keepalives_count

    在连接被认为是死亡之前,可能会丢失的Keepalive的数量。0值使用系统默认值。如果不支持 TCP_KEEPCNT,则该参数必须为0。

    对于不再主段和镜像段之间的所有连接,请使用此参数。对于主段和镜像段之间的设置,请使用gp_filerep_tcp_keepalives_count。

    值范围默认设置分类
    number of lost keepalives0local

    system

    restart

    tcp_keepalives_idle

    在空闲连接上发送keepalive之间的秒数。值为0使用系统默认值。如果不支持TCP_KEEPIDLE ,则此参数必须为0。

    对于不再主段和镜像段之间的所有连接,请使用此参数。对于主段和镜像段之间的设置,请使用gp_filerep_tcp_keepalives_idle。

    值范围默认设置分类
    秒数0local

    system

    restart

    tcp_keepalives_interval

    在重新传输之前等待keepalive响应的秒数。值为0使用系统默认值。如果不支持TCP_KEEPINTVL,该参数必须是0。

    对于不在主段和镜像段之间的所有连接,请使用此参数。对于主段和镜像段之间的设置,请使用gp_filerep_tcp_keepalives_interval。

    值范围默认设置分类
    秒数0local

    system

    restart

    temp_buffers

    设置每个数据库会话使用的临时缓冲区的最大数量。这些是仅用于访问临时表的会话本地缓冲区。该设置可以在单个会话中进行更改,但只能在会话首次使用临时表前进行更改。在实际上不需要大量临时缓冲区的会话中设置大值的代价只是每个增量的缓冲区描述符,或大约64字节。但是,如果实际使用了缓冲区,则会消耗额外的8192字节。

    值范围默认设置分类
    整数1024master

    session

    reload

    TimeZone

    设置显示和解释时间戳的时区。默认值是使用系统环境指定的时区作为时区。请参阅PostgreSQL 文档的 Date/Time Keywords

    值范围默认设置分类
    time zone abbreviation local

    restart

    timezone_abbreviations

    设置服务器接受日期时间输入的时区缩写集合。默认值为 Default,它是世界上绝大多数地区都应用的集合。Australia 和 India 和为特定安装定义的其他集合。可能的值是存储在 $GPHOME/share/postgresql/timezonesets/中的配置文件的名称。

    要将Greenplum数据库配置为使用自定义的时区集合,请将包含时区定义的文件复制到Greenplum Database主节点和分段主机上的 $GPHOME/share/postgresql/timezonesets/ 目录中。然后将服务器配置参数 timezone_abbreviations 设置到文件中。例如,使用包含默认时区和WIB(Waktu Indonesia Barat)时区的 custom 文件。

    1. 拷贝文件 Default 从目录 $GPHOME/share/postgresql/timezonesets/ 到文件 custom中。将 WIB 时区信息从文件 Asia.txt 添加到 custom文件中。
    2. 复制 custom 文件到Greenplum数据库主和段主机上的目录 $GPHOME/share/postgresql/timezonesets/ 中。
    3. 将服务器配置参数 timezone_abbreviations 设置为 custom。
    值范围默认设置分类
    stringDefaultmaster

    session

    reload

    track_activities

    启用对每个会话当前执行命令的统计信息的收集以及该命令开始执行的时间。启用后,所有用户都不会看到此信息,该信息只对超级用户和用户该会话的用户可见。该数据可以通过 pg_stat_activity 系统视图访问。

    值范围默认设置分类
    Booleanonmaster

    session

    reload

    track_counts

    启用数据库活动上的行和块级统计数据的收集。如果启用,则可以通过 pg_statpg_statio 系列视图来访问生成的数据。

    值范围默认设置分类
    Booleanofflocal

    system

    restart

    transaction_isolation

    设置当前的事务的隔离级别。

    值范围默认设置分类
    read committed

    serializable

    read committedmaster

    session

    reload

    transaction_read_only

    设置当前事务的只读状态。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    transform_null_equals

    当为on时,表单表达式 expr = NULL(或 NULL = expr)被视为expr IS NULL,也就是说如果expr 计算为控制,则返回为true,否则返回为false。expr = NULL 的正确的SQL规范兼容行为是始终返回null(未知)。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    unix_socket_directory

    指定服务器上侦听来自客户端应用程序的连接的UNIX-域的套接字的目录。

    值范围默认设置分类
    目录路径unsetlocal

    system

    restart

    unix_socket_group

    设置UNIX-域套接字的所属组。默认情况下是一个空字符串,该默认值使用当前用户的默认组。

    值范围默认设置分类
    UNIX组名unsetlocal

    system

    restart

    unix_socket_permissions

    设置UNIX-域套接字的访问权限。UNIX-域套接字使用通常的UNIX文件系统的权限集合。请注意,对于UNIX-域套接字,只有写入权限才是最重要的。

    值范围默认设置分类
    数字形式的UNIX文件权限模式(chmod或者umask命令接受的形式)511local

    system

    restart

    update_process_title

    每当服务器接收到新的SQL命令时,都可以更新进程的标题。进程标题通常由 ps 命令查看。

    值范围默认设置分类
    Booleanonlocal

    system

    restart

    vacuum_cost_delay

    当超过代价限制时候,进程休眠的时间长度。0禁用基于时间的清理延迟功能。

    值范围默认设置分类
    milliseconds < 0 (in multiples of 10)0local

    system

    restart

    vacuum_cost_limit

    积累的代价值,该代价会导致清理进程的休眠。

    值范围默认设置分类
    整数 > 0200local

    system

    restart

    vacuum_cost_page_dirty

    当修改一个之前是干净的块时所估计的代价。它表示将脏块再次刷新到磁盘所需的额外I/O。

    值范围默认设置分类
    整数 > 020local

    system

    restart

    vacuum_cost_page_hit

    基于共享缓存的缓冲区清理的估计代价。它代表锁定缓冲池,查找共享哈希表并扫描页面的内存的代价。

    值范围默认设置分类
    整数 > 01local

    system

    restart

    vacuum_cost_page_miss

    清理必须从磁盘读取的缓冲区的估计代价。该代表了锁定缓冲池,查找共享哈希表,从磁盘读取所需块并扫描其内容的代价。

    值范围默认设置分类
    整数 > 010local

    system

    restart

    vacuum_freeze_min_age

    指定事务中的截止年龄,当扫描表的时候,VACUUM 应该使用该年龄来决定是否使用 FrozenXID 替代事务ID。

    有关 VACUUM 和事务ID管理的信息,请参阅 Greenplum数据库管理员指南 的“管理数据”和 。

    值范围默认设置分类
    整数 0-100000000000100000000local

    system

    restart

    validate_previous_free_tid

    启用验证空闲元组ID(TID)列表的测试。该列表由Greenplum数据库维护和使用。Greenplum数据库通过确保当前空闲元组的先前空闲TID是有效的空闲元组来确定TID列表的有效性。默认值为 true,启用该测试。

    如果Greenplum数据库监测到空闲TID列表中的损害,则重建免费TID列表,记录警告,并且检查失败的查询返回警告。Greenplum数据库尝试执行查询。

    值范围默认设置分类
    Booleantruemaster

    session

    reload

    vmem_process_interrupt

    在数据库查询执行期间,可以在为查询预留vmem内存之前检查中断。在为查询预留更多的vmem之前,请检查查询的当前会话是否有待处理的查询取消或其他挂起的中断。这确保了更多的响应中断处理,包括查询取消请求。默认值是off。

    值范围默认设置分类
    Booleanoffmaster

    session

    reload

    wal_receiver_status_interval

    对于Greenplum数据库主镜像,请设置发送到活跃主机的 walreceiver 进程状态信息之间的间隔。在重型负载下,该值可能会更长。

    该 值控制了 walsender 进程 walreceiver 等待接收信息的时间。

    值范围默认设置分类
    整数 0- INT_MAX/100010 secmaster

    system

    reload

    superuser

    writable_external_table_bufsize

    Greenplum数据库用于网络通信的缓冲区大小(以KB为单位),例如 gpfdist 实用程序和外部web表(实用http)。Greenplum数据库在数据库数据写出之前将数据存储在缓冲区中。有关 gpfdist的信息,请参阅 Greenplum数据库使用指南。

    值范围默认设置分类
    整数 32 - 131072 (32KB - 128MB)64local

    system

    reload

    xid_stop_limit

    发生事务ID环绕的ID之前的事务ID数。达到此限制时,Greenplum数九将停止创建新事务,以避免由于事务ID环绕而导致的数据丢失。

    值范围默认设置分类
    整数 10000000 - 20000000001000000000local

    system

    restart

    xid_warn_limit

    在指定的限制之前的事务ID数量。当Greenplum数据库达到此限制时,他会发出警告以执行VACUUM操作,来避免由于事务ID环绕而导致的数据丢失。

    值范围默认设置分类
    整数 10000000 - 2000000000500000000local

    system

    restart

    指定二进制值如何在XML数据中编码。例如,当 bytea 值转化为XML值时。该二进制数据可以转换为base64编码或者十六进制编码。默认值是base64。

    可以为数据库系统,单个数据库或会话设置该参数。

    值范围默认设置分类
    base64

    hex

    base64master

    session

    reload

    xmloption

    指定是否将XML数据视为执行隐式解析和序列化的操作的XML文档(document)或者 XML 内容片段(content)。默认值为 content。

    此参数影响 xml_is_well_formed()执行的验证。如果值为 document,则该函数检查格式良好的XML文档。如果值为 content,则该函数将检查格式良好的XML内容片段。

    注意: 包含文档类型声明(DTD)的XML文档不被视为有效的XML内容片段。如果将 xmloption 设置为 content, 则包含DTD的XML不被视为有效的XML。

    。要将包含DTD的字符换转化为 xml 数据类型,请将 xmlparse 函数和 document 关键字一起使用,或将 xmloption 值改为 document。

    可以为数据库系统,单个数据库或会话设置参数。设置此选项的SQL命令也可以在Greenplum数据库中使用。

    值范围默认设置分类
    document

    content

    contentmaster

    reload