更新时间:2026-10-21 GMT+08:00
分享

其他系统函数

其他系统函数包含两类,兼容PostgreSQL的函数和实现内部功能的函数。这些函数不推荐使用,若需使用,请联系华为技术支持工程师。

兼容PostgreSQL的函数和操作符

  • 下述列表为GaussDB的内建函数和操作符兼容PostgreSQL,函数详细说明请参考PostgreSQL官方文档。

    _pg_char_max_length

    _pg_char_octet_length

    _pg_datetime_precision

    _pg_expandarray

    _pg_index_position

    _pg_interval_type

    _pg_numeric_precision

    _pg_numeric_precision_radix

    _pg_numeric_scale

    _pg_truetypid

    _pg_truetypmod

    q

    abs

    abstime

    abstimeeq

    abstimege

    abstimegt

    abstimein

    abstimele

    abstimelt

    abstimene

    abstimeout

    abstimerecv

    abstimesend

    aclcontains

    acldefault

    aclexplode

    aclinsert

    aclitemeq

    aclitemin

    aclitemout

    aclremove

    acos

    age

    akeys

    any_in

    any_out

    anyarray_in

    anyarray_out

    anyarray_recv

    anyarray_send

    anyelement_in

    anyelement_out

    anyenum_in

    anyenum_out

    anynonarray_in

    anynonarray_out

    anyrange_in

    anyrange_out

    anytextcat

    area

    areajoinsel

    areasel

    array_agg

    array_agg_finalfn

    array_agg_transfn

    array_append

    array_cat

    array_dims

    array_eq

    array_fill

    array_ge

    array_gt

    array_in

    array_larger

    array_le

    array_length

    array_lower

    array_lt

    array_ndims

    array_ne

    array_out

    array_prepend

    array_recv

    array_send

    array_smaller

    array_to_json

    array_to_string

    array_typanalyze

    array_upper

    arraycontained

    arraycontains

    arraycontjoinsel

    arraycontsel

    arrayoverlap

    ascii

    asin

    atan

    atan2

    avals

    avg

    big5_to_euc_tw

    big5_to_mic

    big5_to_utf8

    bit

    bit_and

    bit_in

    bit_length

    bit_or

    bit_out

    bit_recv

    bit_send

    bitand

    bitcat

    bitcmp

    biteq

    bitge

    bitgt

    bitle

    bitlt

    bitne

    bitnot

    bitor

    bitshiftleft

    bitshiftright

    bittypmodin

    bittypmodout

    bitxor

    bool

    bool_and

    bool_or

    booland_statefunc

    booleq

    boolge

    boolgt

    boolin

    boolle

    boollt

    boolne

    boolor_statefunc

    boolout

    boolrecv

    boolsend

    box

    box_above

    box_above_eq

    box_add

    box_below

    box_below_eq

    box_center

    box_contain

    box_contain_pt

    box_contained

    box_distance

    box_div

    box_eq

    box_ge

    box_gt

    box_in

    box_intersect

    box_le

    box_left

    box_lt

    box_mul

    box_out

    box_overabove

    box_overbelow

    box_overlap

    box_overleft

    box_overright

    box_recv

    box_right

    box_same

    box_send

    box_sub

    bpchar

    bpchar_larger

    bpchar_pattern_ge

    bpchar_pattern_gt

    bpchar_pattern_le

    bpchar_pattern_lt

    bpchar_smaller

    bpchar_sortsupport

    bpcharcmp

    bpchareq

    bpcharge

    bpchargt

    bpchariclike

    bpcharicnlike

    bpcharicregexeq

    bpcharicregexne

    bpcharin

    bpcharle

    bpcharlike

    bpcharlt

    bpcharne

    bpcharnlike

    bpcharout

    bpcharrecv

    bpcharregexeq

    bpcharregexne

    bpcharsend

    bpchartypmodin

    bpchartypmodout

    broadcast

    btabstimecmp

    btarraycmp

    btbeginscan

    btboolcmp

    btbpchar_pattern_cmp

    btbuild

    btbuildempty

    btbulkdelete

    btcanreturn

    btcharcmp

    btcostestimate

    btendscan

    btfloat48cmp

    btfloat4cmp

    btfloat4sortsupport

    btfloat84cmp

    btfloat8cmp

    btfloat8sortsupport

    btgetbitmap

    btgettuple

    btinsert

    btint24cmp

    btint28cmp

    btint2cmp

    btint2sortsupport

    btint42cmp

    btint48cmp

    btint4cmp

    btint4sortsupport

    btint82cmp

    btint84cmp

    btint8cmp

    btint8sortsupport

    btmarkpos

    btnamecmp

    btnamesortsupport

    btoidcmp

    btoidsortsupport

    btoidvectorcmp

    btoptions

    btrecordcmp

    btreltimecmp

    btrescan

    btrestrpos

    btrim

    bttext_pattern_cmp

    bttextcmp

    bttextsortsupport

    bttidcmp

    bttintervalcmp

    btvacuumcleanup

    bytea_sortsupport

    bytea_string_agg_finalfn

    bytea_string_agg_transfn

    byteacat

    byteacmp

    byteaeq

    byteage

    byteagt

    byteain

    byteale

    bytealike

    bytealt

    byteane

    byteanlike

    byteaout

    bytearecv

    byteasend

    cash_cmp

    cash_div_cash

    cash_div_flt4

    cash_div_flt8

    cash_div_int2

    cash_div_int4

    cash_div_int8

    cash_eq

    cash_ge

    cash_gt

    cash_in

    cash_le

    cash_lt

    cash_mi

    cash_mul_flt4

    cash_mul_flt8

    cash_mul_int2

    cash_mul_int4

    cash_mul_int8

    cash_ne

    cash_out

    cash_pl

    cash_recv

    cash_send

    cashlarger

    cashsmaller

    cbrt

    ceil

    ceiling

    center

    char

    char_length

    character_length

    chareq

    charge

    chargt

    charin

    charle

    charlt

    charne

    charout

    charrecv

    charsend

    chr

    cideq

    cidin

    cidout

    cidr

    cidr_in

    cidr_out

    cidr_recv

    cidr_send

    cidrecv

    cidsend

    circle

    circle_above

    circle_add_pt

    circle_below

    circle_center

    circle_contain

    circle_contain_pt

    circle_contained

    circle_distance

    circle_div_pt

    circle_eq

    circle_ge

    circle_gt

    circle_in

    circle_le

    circle_left

    circle_lt

    circle_mul_pt

    circle_ne

    circle_out

    circle_overabove

    circle_overbelow

    circle_overlap

    circle_overleft

    circle_overright

    circle_recv

    circle_right

    circle_same

    circle_send

    circle_sub_pt

    clock_timestamp

    close_lb

    close_ls

    close_lseg

    close_pb

    close_pl

    close_ps

    close_sb

    close_sl

    col_description

    concat

    concat_ws

    contjoinsel

    contsel

    convert

    convert_from

    convert_to

    corr

    cos

    cot

    count

    covar_pop

    covar_samp

    cstring_in

    cstring_out

    cstring_recv

    cstring_send

    cume_dist

    current_database

    current_query

    current_schema

    xpath_exists

    current_setting

    current_user

    currtid

    currtid2

    currval

    cursor_to_xml

    cursor_to_xmlschema

    database_to_xml

    database_to_xml_and_xmlschema

    database_to_xmlschema

    date

    date_cmp

    date_cmp_timestamp

    date_cmp_timestamptz

    date_eq

    date_eq_timestamp

    date_eq_timestamptz

    date_ge

    date_ge_timestamp

    date_ge_timestamptz

    date_gt

    date_gt_timestamp

    date_gt_timestamptz

    date_in

    date_larger

    date_le

    date_le_timestamp

    date_le_timestamptz

    date_lt

    date_lt_timestamp

    date_lt_timestamptz

    date_mi

    date_mi_interval

    date_mii

    date_ne

    date_ne_timestamp

    date_ne_timestamptz

    date_out

    date_pl_interval

    date_pli

    date_recv

    date_send

    date_smaller

    date_sortsupport

    daterange_canonical

    daterange_subdiff

    datetime_pl

    datetimetz_pl

    dcbrt

    decode

    defined

    degrees

    delete

    dense_rank

    dexp

    diagonal

    diameter

    dispell_init

    dispell_lexize

    dist_cpoly

    dist_lb

    dist_pb

    dist_pc

    dist_pl

    dist_ppath

    dist_ps

    dist_sb

    dist_sl

    div

    dlog1

    dlog10

    domain_in

    domain_recv

    dpow

    dround

    dsimple_init

    dsimple_lexize

    dsnowball_init

    dsnowball_lexize

    dsqrt

    dsynonym_init

    dsynonym_lexize

    dtrunc

    each

    enum_ne

    enum_out

    enum_range

    enum_recv

    enum_send

    enum_smaller

    eqjoinsel

    eqsel

    euc_cn_to_mic

    euc_cn_to_utf8

    euc_jis_2004_to_shift_jis_2004

    euc_jis_2004_to_utf8

    euc_jp_to_mic

    euc_jp_to_sjis

    euc_jp_to_utf8

    euc_kr_to_mic

    euc_kr_to_utf8

    euc_tw_to_big5

    euc_tw_to_mic

    euc_tw_to_utf8

    every

    exist

    exists_all

    exists_any

    exp

    factorial

    family

    fdw_handler_in

    fdw_handler_out

    fetchval

    first_value

    float4

    float4_accum

    float48div

    float48eq

    float48ge

    float48gt

    float48le

    float48lt

    float48mi

    float48mul

    float48ne

    float48pl

    float4abs

    float4div

    float4eq

    float4ge

    float4gt

    float4in

    float4larger

    float4le

    float4lt

    float4mi

    float4mul

    float4ne

    float4out

    float4pl

    float4recv

    float4send

    float4smaller

    float4um

    float4up

    float8

    float8_accum

    float8_avg

    float8_collect

    float8_corr

    float8_covar_pop

    float8_covar_samp

    float8_regr_accum

    float8_regr_avgx

    float8_regr_avgy

    float8_regr_collect

    float8_regr_intercept

    float8_regr_r2

    float8_regr_slope

    float8_regr_sxx

    float8_regr_sxy

    float8_regr_syy

    float8_stddev_pop

    float8_stddev_samp

    float8_var_pop

    float8_var_samp

    float84div

    float84eq

    float84ge

    float84gt

    float84le

    float84lt

    float84mi

    float84mul

    float84ne

    float84pl

    float8abs

    float8div

    float8eq

    float8ge

    float8gt

    float8in

    float8larger

    float8le

    float8lt

    float8mi

    float8mul

    float8ne

    float8out

    float8pl

    float8recv

    float8send

    float8smaller

    float8um

    float8up

    floor

    flt4_mul_cash

    flt8_mul_cash

    fmgr_c_validator

    fmgr_internal_validator

    fmgr_sql_validator

    format

    format_type

    gb18030_to_utf8

    gbk_to_utf8

    generate_series

    generate_subscripts

    get_bit

    get_byte

    get_current_ts_config

    get_global_gs_asp

    get_large_table_name

    -

    -

    -

    gtsquery_compress

    gtsquery_consistent

    gtsquery_decompress

    gtsquery_penalty

    gtsquery_picksplit

    gtsquery_same

    gtsquery_union

    gtsvector_compress

    gtsvector_consistent

    gtsvector_decompress

    gtsvector_penalty

    gtsvector_picksplit

    gtsvector_same

    gtsvector_union

    gtsvectorin

    gtsvectorout

    has_tablespace_privilege

    has_type_privilege

    hash_aclitem

    hashbeginscan

    hashbuild

    hashbuildempty

    hashbulkdelete

    hashcostestimate

    hashendscan

    hashgetbitmap

    hashgettuple

    hashinsert

    hashint2vector

    hashint4

    hashint8

    hashmacaddr

    hashmarkpos

    hashname

    hashoid

    hashoidvector

    hashoptions

    hashrescan

    hashrestrpos

    hashtext

    hashvacuumcleanup

    hashvarlena

    host

    hostmask

    iclikejoinsel

    iclikesel

    icnlikejoinsel

    icnlikesel

    icregexeqjoinsel

    icregexeqsel

    icregexnejoinsel

    icregexnesel

    inet_client_addr

    inet_client_port

    inet_in

    inet_out

    inet_recv

    inet_send

    inet_server_addr

    inet_server_port

    inetand

    inetmi

    inetmi_int8

    inetnot

    inetor

    inetpl

    initcap

    int2_accum

    int2_avg_accum

    int2_mul_cash

    int2_sum

    int24div

    int24eq

    int24ge

    int24gt

    int24le

    int24lt

    int24mi

    int24mul

    int24ne

    int24pl

    int28div

    int28eq

    int28ge

    int28gt

    int28le

    int28lt

    int28mi

    int28mul

    int28ne

    int28pl

    int2abs

    int2and

    int2div

    int2eq

    int2ge

    int2gt

    int2in

    int2larger

    int2le

    int2lt

    int2mi

    int2mod

    int2mul

    int2ne

    int2not

    int2or

    int2out

    int2pl

    int2recv

    int2send

    int2shl

    int2shr

    int2smaller

    int2um

    int2up

    int2vectoreq

    int2vectorin

    int2vectorout

    int2vectorrecv

    int2vectorsend

    int2xor

    int4_accum

    int4_avg_accum

    int4_mul_cash

    int4_sum

    int42div

    int42eq

    int42ge

    int42gt

    int42le

    int42lt

    int42mi

    int42mul

    int42ne

    int42pl

    int48div

    int48eq

    int48ge

    int48gt

    int48le

    int48lt

    int48mi

    int48mul

    int48ne

    int48pl

    int4abs

    int4and

    int4div

    int4eq

    int4ge

    int4gt

    int4in

    int4inc

    int4larger

    int4le

    int4lt

    int4mi

    int4mod

    int4mul

    int4ne

    int4not

    int4or

    int4out

    int4pl

    int4range

    int4range_canonical

    int4range_subdiff

    int4recv

    int4send

    int4shl

    int4shr

    int4smaller

    int4um

    int4up

    int4xor

    int8

    int8_avg

    int8_avg_accum

    int8_avg_collect

    int8_mul_cash

    int8_sum

    int8_sum_to_int8

    int8+1635:1668_accum

    int82div

    int82eq

    int82ge

    int82gt

    int82le

    int82lt

    int82mi

    int82mul

    int82ne

    int82pl

    int84div

    int84eq

    int84ge

    int84gt

    int84le

    int84lt

    int84mi

    int84mul

    int84ne

    int84pl

    int8abs

    int8and

    int8div

    int8eq

    int8ge

    int8gt

    int8in

    int8inc

    int8inc_any

    int8inc_float8_float8

    int8larger

    int8le

    int8lt

    int8mi

    int8mod

    int8mul

    int8ne

    int8not

    int8or

    int8out

    int8pl

    int8pl_inet

    int8range

    int8range_canonical

    int8range_subdiff

    int8recv

    int8send

    int8shl

    int8shr

    int8smaller

    int8um

    int8up

    int8xor

    integer_pl_date

    inter_lb

    inter_sb

    inter_sl

    internal_in

    internal_out

    interval

    interval_accum

    interval_avg

    interval_cmp

    interval_collect

    interval_div

    interval_eq

    interval_ge

    interval_gt

    interval_hash

    interval_in

    interval_larger

    interval_le

    interval_lt

    interval_mi

    interval_mul

    interval_ne

    interval_out

    interval_pl

    interval_pl_date

    interval_pl_time

    interval_pl_timestamp

    interval_pl_timestamptz

    interval_pl_timetz

    interval_recv

    interval_send

    interval_smaller

    interval_transform

    interval_um

    intervaltypmodin

    intervaltypmodout

    intinterval

    isexists

    ishorizontal

    iso_to_koi8r

    iso_to_mic

    iso_to_win1251

    iso_to_win866

    iso8859_1_to_utf8

    iso8859_to_utf8

    isparallel

    isperp

    isvertical

    johab_to_utf8

    jsonb_in

    jsonb_out

    jsonb_recv

    jsonb_send

    -

    -

    -

    json_in

    json_out

    json_recv

    json_send

    justify_days

    justify_hours

    justify_interval

    koi8r_to_iso

    koi8r_to_mic

    koi8r_to_utf8

    koi8r_to_win1251

    koi8r_to_win866

    koi8u_to_utf8

    language_handler_in

    language_handler_out

    latin1_to_mic

    latin2_to_mic

    latin2_to_win1250

    latin3_to_mic

    latin4_to_mic

    like_escape

    likejoinsel

    likesel

    line

    line_distance

    line_eq

    line_horizontal

    line_in

    line_interpt

    line_intersect

    line_out

    line_parallel

    line_perp

    line_recv

    line_send

    line_vertical

    ln

    lo_close

    lo_creat

    lo_create

    lo_export

    lo_import

    lo_lseek

    lo_open

    lo_tell

    lo_truncate

    lo_unlink

    log

    loread

    lower

    lower_inc

    lower_inf

    lowrite

    lpad

    lseg

    lseg_center

    lseg_distance

    lseg_eq

    lseg_ge

    lseg_gt

    lseg_horizontal

    lseg_in

    lseg_interpt

    lseg_intersect

    lseg_le

    lseg_length

    lseg_lt

    lseg_ne

    lseg_out

    lseg_parallel

    lseg_perp

    lseg_recv

    lseg_send

    lseg_vertical

    ltrim

    macaddr_and

    macaddr_cmp

    macaddr_eq

    macaddr_ge

    macaddr_gt

    macaddr_in

    macaddr_le

    macaddr_lt

    macaddr_ne

    macaddr_not

    macaddr_or

    macaddr_out

    macaddr_recv

    macaddr_send

    makeaclitem

    masklen

    max

    md5

    MD5加密算法安全性低,存在安全风险,建议使用更安全的加密算法。

    mic_to_big5

    mic_to_euc_cn

    mic_to_euc_jp

    mic_to_euc_kr

    mic_to_euc_tw

    mic_to_iso

    mic_to_koi8r

    mic_to_latin1

    mic_to_latin2

    mic_to_latin3

    mic_to_latin4

    mic_to_sjis

    mic_to_win1250

    mic_to_win1251

    mic_to_win866

    min

    mktinterval

    money

    mul_d_interval

    name

    nameeq

    namege

    namegt

    nameiclike

    nameicnlike

    nameicregexeq

    nameicregexne

    namein

    namele

    namelike

    namelt

    namene

    namenlike

    nameout

    namerecv

    nameregexeq

    nameregexne

    namesend

    neqjoinsel

    neqsel

    network_cmp

    network_eq

    network_ge

    network_gt

    network_le

    network_lt

    network_ne

    network_sub

    network_subeq

    network_sup

    network_supeq

    nlikejoinsel

    nlikesel

    numeric

    numeric_abs

    numeric_accum

    numeric_add

    numeric_avg

    numeric_avg_accum

    numeric_avg_collect

    numeric_cmp

    numeric_collect

    numeric_div

    numeric_div_trunc

    numeric_eq

    numeric_exp

    numeric_fac

    numeric_ge

    numeric_gt

    numeric_in

    numeric_inc

    numeric_larger

    numeric_le

    numeric_ln

    numeric_log

    numeric_lt

    numeric_mod

    numeric_mul

    numeric_ne

    numeric_out

    numeric_power

    numeric_recv

    numeric_send

    numeric_smaller

    numeric_sortsupport

    numeric_sqrt

    numeric_stddev_pop

    numeric_stddev_samp

    numeric_sub

    numeric_transform

    numeric_uminus

    numeric_uplus

    numeric_var_pop

    numeric_var_samp

    numerictypmodin

    numerictypmodout

    numrange_subdiff

    oid

    oideq

    oidge

    oidgt

    oidin

    oidlarger

    oidle

    oidlt

    oidne

    oidout

    oidrecv

    oidsend

    oidsmaller

    oidvectoreq

    oidvectorge

    oidvectorgt

    oidvectorin

    oidvectorle

    oidvectorlt

    oidvectorne

    oidvectorout

    oidvectorrecv

    oidvectorsend

    oidvectortypes

    on_pb

    on_pl

    on_ppath

    on_ps

    on_sb

    on_sl

    opaque_in

    opaque_out

    ordered_set_transition

    overlaps

    overlay

    path

    path_add

    path_add_pt

    path_center

    path_contain_pt

    path_distance

    path_div_pt

    path_in

    path_inter

    path_length

    path_mul_pt

    path_n_eq

    path_n_ge

    path_n_gt

    path_n_le

    path_n_lt

    path_npoints

    path_out

    path_recv

    path_send

    path_sub_pt

    percentile_cont

    percentile_cont_float8_final

    percentile_cont_interval_final

    pg_char_to_encoding

    pg_cursor

    pg_encoding_max_length

    pg_encoding_to_char

    pg_extension_config_dump

    -

    -

    pg_node_tree_in

    pg_node_tree_out

    pg_node_tree_recv

    pg_node_tree_send

    pg_prepared_statement

    pg_prepared_xact

    pg_notify

    pg_stat_get_wal_receiver

    pg_show_all_settings

    pg_stat_get_bgwriter_stat_reset_time

    pg_stat_get_buf_fsync_backend

    pg_stat_get_checkpoint_sync_time

    pg_stat_get_checkpoint_write_time

    pg_stat_get_db_blk_read_time

    pg_stat_get_db_blk_write_time

    pg_stat_get_db_conflict_all

    pg_stat_get_db_conflict_bufferpin

    pg_stat_get_db_conflict_snapshot

    pg_stat_get_db_conflict_startup_deadlock

    pg_switch_xlog

    xpath

    pg_timezone_abbrevs

    pg_timezone_names

    pgxc_node_str

    plpgsql_call_handler

    plpgsql_inline_handler

    plpgsql_validator

    point_above

    point_add

    point_below

    point_distance

    point_div

    point_eq

    point_horiz

    point_in

    point_left

    point_mul

    point_ne

    point_out

    point_recv

    point_right

    point_send

    point_sub

    point_vert

    poly_above

    poly_below

    poly_center

    poly_contain

    poly_contain_pt

    poly_contained

    poly_distance

    poly_in

    poly_left

    poly_npoints

    poly_out

    poly_overabove

    poly_overbelow

    poly_overlap

    poly_overleft

    poly_overright

    poly_recv

    poly_right

    poly_same

    poly_send

    polygon

    position

    positionjoinsel

    positionsel

    postgresql_fdw_validator

    pow

    power

    prsd_end

    prsd_headline

    prsd_lextype

    prsd_nexttoken

    prsd_start

    pt_contained_circle

    pt_contained_poly

    query_to_xml

    query_to_xml_and_xmlschema

    query_to_xmlschema

    quote_ident

    quote_literal

    quote_nullable

    radians

    radius

    random

    range_adjacent

    range_after

    range_before

    range_cmp

    range_contained_by

    range_contains

    range_contains_elem

    range_ge

    range_eq

    range_gt

    range_in

    range_intersect

    range_le

    range_lt

    range_minus

    range_ne

    range_out

    range_overlaps

    range_overleft

    range_overright

    range_recv

    range_send

    range_typanalyze

    range_union

    rank

    record_eq

    record_ge

    record_gt

    record_in

    record_le

    record_lt

    record_ne

    record_out

    record_recv

    record_send

    regclass

    regclassin

    regclassout

    regclassrecv

    regclasssend

    regconfigin

    regconfigout

    regconfigrecv

    regconfigsend

    regdictionaryin

    regdictionaryout

    regdictionaryrecv

    regdictionarysend

    regexeqjoinsel

    regexeqsel

    regexnejoinsel

    regexnesel

    regexp_matches

    regexp_replace

    regexp_split_to_array

    regexp_split_to_table

    regoperatorin

    regoperatorout

    regoperatorrecv

    regoperatorsend

    regoperin

    regoperout

    regoperrecv

    regopersend

    regprocedurein

    regprocedureout

    regprocedurerecv

    regproceduresend

    regprocin

    regprocout

    regprocrecv

    regprocsend

    regr_avgx

    regr_avgy

    regr_count

    regr_intercept

    regr_r2

    regr_slope

    regr_sxx

    regr_sxy

    regr_syy

    regtypein

    regtypeout

    regtyperecv

    regtypesend

    reltime

    reltimeeq

    reltimege

    reltimegt

    reltimein

    reltimele

    reltimelt

    reltimene

    reltimeout

    reltimerecv

    reltimesend

    repeat

    replace

    reverse

    RI_FKey_cascade_del

    RI_FKey_cascade_upd

    RI_FKey_check_ins

    RI_FKey_check_upd

    RI_FKey_noaction_del

    RI_FKey_noaction_upd

    RI_FKey_restrict_del

    RI_FKey_restrict_upd

    RI_FKey_setdefault_del

    RI_FKey_setdefault_upd

    RI_FKey_setnull_del

    RI_FKey_setnull_upd

    right

    round

    row_number

    row_to_json

    rpad

    rtrim

    scalargtjoinsel

    scalargtsel

    scalarltjoinsel

    scalarltsel

    schema_to_xml

    schema_to_xml_and_xmlschema

    schema_to_xmlschema

    session_user

    set_bit

    set_byte

    set_config

    set_masklen

    shift_jis_2004_to_euc_jis_2004

    shift_jis_2004_to_utf8

    sjis_to_euc_jp

    sjis_to_mic

    sjis_to_utf8

    smgrin

    smgrout

    spg_kd_choose

    spg_kd_config

    spg_kd_inner_consistent

    spg_kd_picksplit

    spg_quad_choose

    spg_quad_config

    spg_quad_inner_consistent

    spg_quad_leaf_consistent

    spg_quad_picksplit

    spg_text_choose

    spg_text_config

    spg_text_inner_consistent

    spg_text_leaf_consistent

    spg_text_picksplit

    spgbeginscan

    spgbuild

    spgbuildempty

    spgbulkdelete

    spgcanreturn

    spgcostestimate

    spgendscan

    spggetbitmap

    spggettuple

    spginsert

    spgmarkpos

    spgoptions

    spgrescan

    spgrestrpos

    spgvacuumcleanup

    stddev

    stddev_pop

    stddev_samp

    string_agg

    string_agg_finalfn

    string_agg_transfn

    strip

    sum

    suppress_redundant_updates_trigger

    table_to_xml

    table_to_xml_and_xmlschema

    table_to_xmlschema

    tan

    text

    text_ge

    text_gt

    text_larger

    text_le

    text_lt

    text_pattern_ge

    text_pattern_gt

    text_pattern_le

    text_pattern_lt

    text_smaller

    textanycat

    textcat

    texteq

    texticlike

    texticnlike

    texticregexeq

    texticregexne

    textin

    textlike

    textne

    textnlike

    textout

    textrecv

    textregexeq

    textregexne

    textsend

    thesaurus_init

    thesaurus_lexize

    tideq

    tidge

    tidgt

    tidin

    tidlarger

    tidle

    tidlt

    tidne

    tidout

    tidrecv

    tidsend

    tidsmaller

    time

    time_cmp

    time_eq

    time_ge

    time_gt

    time_hash

    time_in

    time_larger

    time_le

    time_lt

    time_mi_interval

    time_mi_time

    time_ne

    time_out

    time_pl_interval

    time_recv

    time_send

    time_smaller

    time_transform

    timedate_pl

    timemi

    timepl

    timestamp

    timestamp_cmp

    timestamp_cmp_date

    timestamp_cmp_timestamptz

    timestamp_eq

    timestamp_eq_date

    timestamp_eq_timestamptz

    timestamp_ge

    timestamp_ge_date

    timestamp_ge_timestamptz

    timestamp_gt

    timestamp_gt_date

    timestamp_gt_timestamptz

    timestamp_hash

    timestamp_in

    timestamp_larger

    timestamp_le

    timestamp_le_date

    timestamp_le_timestamptz

    timestamp_lt

    timestamp_lt_date

    timestamp_lt_timestamptz

    timestamp_mi

    timestamp_mi_interval

    timestamp_ne

    timestamp_ne_date

    timestamp_ne_timestamptz

    timestamp_out

    timestamp_pl_interval

    timestamp_recv

    timestamp_send

    timestamp_smaller

    timestamp_sortsupport

    timestamp_transform

    timestamptypmodin

    timestamptypmodout

    timestamptz

    timestamptz_cmp

    timestamptz_cmp_date

    timestamptz_cmp_timestamp

    timestamptz_eq

    timestamptz_eq_date

    timestamptz_eq_timestamp

    timestamptz_ge

    timestamptz_ge_date

    timestamptz_ge_timestamp

    timestamptz_gt

    timestamptz_gt_date

    timestamptz_gt_timestamp

    timestamptz_in

    timestamptz_larger

    timestamptz_le

    timestamptz_le_date

    timestamptz_le_timestamp

    timestamptz_lt

    timestamptz_lt_date

    timestamptz_lt_timestamp

    timestamptz_mi

    timestamptz_mi_interval

    timestamptz_ne

    timestamptz_ne_date

    timestamptz_ne_timestamp

    timestamptz_out

    timestamptz_pl_interval

    timestamptz_recv

    timestamptz_send

    timestamptz_smaller

    timestamptztypmodin

    timestamptztypmodout

    timetypmodin

    timetypmodout

    timetz

    timetz_cmp

    timetz_eq

    timetz_ge

    timetz_gt

    timetz_hash

    timetz_in

    timetz_larger

    timetz_le

    timetz_lt

    timetz_mi_interval

    timetz_ne

    timetz_out

    timetz_pl_interval

    timetz_recv

    timetz_send

    timetz_smaller

    timetzdate_pl

    timetztypmodin

    timetztypmodout

    timezone(2069)

    timezone(1159)

    timezone(2037)

    timezone (2070)

    timezone (1026)

    timezone (2038)

    tintervalct

    tintervaleq

    tintervalge

    tintervalgt

    tintervalin

    tintervalle

    tintervalleneq

    tintervallenge

    tintervallengt

    tintervallenle

    tintervallenlt

    tintervallenne

    tintervallt

    tintervalne

    tintervalout

    tintervalov

    tintervalrecv

    tintervalsame

    tintervalsend

    tintervalstart

    to_ascii(1845)

    to_ascii(1847)

    to_ascii(1846)

    trigger_in

    trigger_out

    ts_match_qv

    ts_match_tq

    ts_match_tt

    ts_match_vq

    ts_rank

    ts_rank_cd

    ts_rewrite

    ts_stat

    ts_token_type

    ts_typanalyze

    tsmatchjoinsel

    tsmatchsel

    tsq_mcontained

    tsq_mcontains

    tsquery_and

    tsquery_cmp

    tsquery_eq

    tsquery_ge

    tsquery_gt

    tsquery_le

    tsquery_lt

    tsquery_ne

    tsquery_not

    tsquery_or

    tsqueryin

    tsqueryout

    tsqueryrecv

    tsquerysend

    tsrange

    tsrange_subdiff

    tstzrange

    tstzrange_subdiff

    tsvector_cmp

    tsvector_concat

    tsvector_eq

    tsvector_ge

    tsvector_gt

    tsvector_le

    tsvector_lt

    tsvector_ne

    tsvector_update_trigger

    tsvector_update_trigger_column

    tsvectorin

    tsvectorout

    tsvectorrecv

    tsvectorsend

    txid_current

    txid_current_snapshot

    txid_snapshot_in

    txid_snapshot_out

    txid_snapshot_recv

    txid_snapshot_send

    txid_snapshot_xip

    txid_snapshot_xmax

    txid_snapshot_xmin

    txid_visible_in_snapshot

    uhc_to_utf8

    unique_key_recheck

    unknownin

    unknownout

    unknownrecv

    unknownsend

    unnest

    utf8_to_big5

    utf8_to_euc_cn

    utf8_to_euc_jis_2004

    utf8_to_euc_jp

    utf8_to_euc_kr

    utf8_to_euc_tw

    utf8_to_gb18030

    utf8_to_gbk

    utf8_to_iso8859

    utf8_to_iso8859_1

    utf8_to_johab

    utf8_to_koi8r

    utf8_to_koi8u

    utf8_to_shift_jis_2004

    utf8_to_sjis

    utf8_to_uhc

    utf8_to_win

    uuid_cmp

    uuid_eq

    uuid_ge

    uuid_gt

    uuid_hash

    uuid_in

    uuid_le

    uuid_lt

    uuid_ne

    uuid_out

    uuid_recv

    uuid_send

    var_pop

    var_samp

    varbit

    varbit_in

    varbit_out

    varbit_recv

    varbit_send

    varbit_transform

    varbitcmp

    varbiteq

    varbitge

    varbitgt

    varbitle

    varbitlt

    varbitne

    varbittypmodin

    varbittypmodout

    varchar

    varchar_transform

    varcharin

    varcharout

    varcharrecv

    varcharsend

    varchartypmodin

    varchartypmodout

    variance

    void_in

    void_out

    void_recv

    void_send

    win_to_utf8

    win1250_to_latin2

    win1250_to_mic

    win1251_to_iso

    win1251_to_koi8r

    win1251_to_mic

    win1251_to_win866

    win866_to_iso

    win866_to_koi8r

    win866_to_mic

    win866_to_win1251

    xideq

    xideqint4

    xidin

    xidout

    xidrecv

    xidsend

    xml

    xml_in

    xml_is_well_formed

    xml_is_well_formed_content

    xml_is_well_formed_document

    xml_out

    xml_recv

    xml_send

    xmlagg

    xmlcomment

    xmlconcat2

    xmlexists

    xmlvalidate

    -

    year_in

    year_out

    year_recv

    year_send

    yeartypmodin

    yeartypmodout

    year_eq

    year_ne

    year_lt

    year_le

    year_gt

    year_ge

    year_cmp

    year_hash

    year_larger

    year_smaller

    year_mi

    year_mi_int4

    int4_mi_year

    year_pl

    year_pl_int4

    int4_pl_year

    int4_year

    year_int4

    date_year

    numeric_year

    text_year

    time_year

    timestamp_year

    timestamptz_year

    bpcharlikebpchar

    bpcharnlikebpchar

    -

    -

    -

    -

    -

    升级模式下,不支持调用变长参数的系统函数,如concat。

实现内部功能的函数

以下函数用于GaussDB实现系统内部功能,不推荐使用,若需使用,请联系华为技术支持工程师。

  • spread_collect()

    描述:该函数用于计算某段时间内最大和最小值的差值,用于聚合函数的数据收集过程。

    参数:s real[]、v real[]

    返回值类型:real[]

  • spread_final()

    描述:该函数用于计算某段时间内最大和最小值的差值,用于聚合函数的数据最终处理过程。

    参数:s real[]

    返回值类型:real

  • spread_internal()

    描述:该函数用于计算某段时间内最大和最小值的差值,用于聚合函数的数据中间过程。

    参数:s real[]、v real

    返回值类型:real[]

  • xidin4()

    描述:输入4字节的xid。

    参数:cstring

    返回值类型:xid32

  • gap_fill_internal()

    描述:返回参数列表中第一个非NULL的参数值。

    参数:s anyelement、v anyelement

    返回值类型:anyelement

  • int1send()

    描述:将无符号一字节整数打包放入内部数据缓冲流。

    参数:tinyint

    返回值类型:bytea

  • is_contain_namespace()

    描述:查找表名和namespace分割的位置,如果不存在namespace,返回0。

    参数:relationname name

    返回值类型:integer

  • is_oid_in_group_members()

    描述:不支持

    参数:node_oid oid、group_members oidvector_extend

    返回值类型:boolean

  • isubmit_on_nodes_internal()

    描述:不支持

    参数:job bigint、node_name name、database name、what text、next_date timestamp without time zone、job_interval text

    返回值类型:integer

  • listagg()

    描述:list类型agg聚集函数。

    参数:smallint、text

    返回值类型:text

  • log_fdw_validator()

    描述:验证函数。

    参数:text[]、oid

    返回值类型:void

  • nvarchar2typmodin()

    描述:获取varchar的typmod信息。

    参数:cstring[]

    返回值类型:integer

  • nvarchar2typmodout()

    描述:获取varchar的typmod信息,并构造字符串返回。

    参数:integer

    返回值类型:cstring

  • pg_nodes_memmon()

    描述:不支持。

    参数:nan

    返回值类型:innernname text、innerusedmem bigint、innertopctxt bigint、nname text、usedmem text、sharedbuffercache text、topcontext text

  • read_disable_conn_file()

    描述:读取禁止的连接文件。

    参数:nan

    返回值类型:disconn_mode text、disconn_host text、disconn_port text、local_host text、local_port text、redo_finished text

  • regex_like_m()

    描述:正则匹配,判断字符串是否符合给定的正则表达式。

    参数:text、text

    返回值类型:boolean

  • update_pgjob()

    描述:更新job。

    参数:bigint、"char"、bigint、timestamp without time zone、timestamp without time zone、timestamp without time zone、timestamp without time zone、timestamp without time zone、smallint、text

    返回值类型:void

  • enum_cmp()

    描述:枚举类比较函数,用于判断两个枚举类是否相等,以及相对大小。

    参数:anyenum、anyenum

    返回值类型:integer

  • enum_eq()

    描述:枚举类比较函数,用于实现=符号。

    参数:anyenum、anyenum

    返回值类型:boolean

  • enum_first()

    描述:返回枚举类中的第一个元素。

    参数:anyenum

    返回值类型:anyenum

  • enum_ge()

    描述:枚举类比较函数,用于实现>=符号。

    参数:anyenum、anyenum

    返回值类型:boolean

  • enum_gt()

    描述:枚举类比较函数,用于实现>符号。

    参数:anyenum、anyenum

    返回值类型:boolean

  • enum_in()

    描述:枚举类比较函数,用于判断元素是否在枚举类中。

    参数:cstring、oid

    返回值类型:anyenum

  • enum_larger()

    描述:枚举类比较函数,用于实现>符号。

    参数:anyenum、anyenum

    返回值类型:anyenum

  • enum_last()

    描述:返回枚举类中的最后一个元素。

    参数:anyenum

    返回值类型:anyenum

  • enum_le()

    描述:枚举类比较函数,用于实现<=符号。

    参数:anyenum、anyenum

    返回值类型:boolean

  • enum_lt()

    描述:枚举类比较函数,用于实现<符号。

    参数:anyenum、anyenum

    返回值类型:boolean

  • enum_smaller()

    描述:枚举类比较函数,用于实现<符号。

    参数:anyenum、anyenum

    返回值类型:boolean

  • node_oid_name()

    描述:不支持

    参数:oid

    返回值类型:cstring

  • pg_buffercache_pages()

    描述:从共享buffer缓存里读取数据。

    参数:nan

    返回值类型:bufferid integer、relfilenode oid、bucketid smallint、storage_type oid、reltablespace oid、reldatabase oid、relforknumber smallint、 relblocknumber bigint、isdirty boolean、usage_count smallint

  • pg_check_xidlimit()

    描述:判断nextxid是否>= xidwarnlimit。

    参数:nan

    返回值类型:boolean

  • pg_comm_delay()

    描述:展示单个DN的通信库时延状态。

    参数:nan

    返回值类型:text、text、integer、integer、integer、integer

  • pg_comm_recv_stream()

    描述:展示单个DN上所有的通信库接收流状态。

    参数:nan

    返回值类型:text、bigint、text、bigint、integer、integer、integer、text、bigint、integer、integer、integer、bigint、bigint、bigint、bigint、bigint

  • pg_comm_send_stream()

    描述:展示单个DN上所有的通信库发送流状态。

    参数:nan

    返回值类型:text、bigint、text、bigint、integer、integer、integer、text、bigint、integer、integer、integer、bigint、bigint、bigint、bigint、bigint

  • pg_comm_status()

    描述: 展示单个DN的通信状态。

    参数:nan

    返回值类型:text、integer、integer、bigint、bigint、bigint、bigint、bigint、integer、integer、integer、integer、integer

  • pg_log_comm_status()

    描述:在dn上打印一些log。

    参数:nan

    返回值类型:boolean

  • pg_parse_clog()

    描述:解析clog获取普通表的xid的status。

    参数:nan

    返回值类型:xid xid、status text

  • pg_parse_clog(bucketid)

    描述:解析clog获取指定bucketid的xid的status。

    参数:bucketid,hashbucket表的物理bucketid,普通表是-1。

    返回值类型:xid xid、status text

  • pg_pool_ping()

    描述:设置PoolerPing。

    参数:boolean

    返回值类型:SETOF boolean

  • pg_pool_validate()

    描述:通过比较pgxc_node系统表中的字段,验证连接是否可用。

    参数:clear boolean、co_node_name cstring

    返回值类型:pid bigint、node_name text

  • pg_resume_bkp_flag()

    描述:用于备份恢复获取delay Xlog标志。

    参数:slot_name name

    返回值类型:start_backup_flag boolean、to_delay boolean、ddl_delay_recycle_ptr text、rewind_time text

    调用该函数的用户需要具有SYSADMIN权限或OPRADMIN权限,运维管理员角色须打开operation_mode。

  • gs_static_threadpool_ctrl_status()

    描述:查询线程池中静态池线程相关统计信息。CN线程池开启下分布式CN支持查询相关静态池信息,DN返回空行;线程池关闭下返回空行;参数static_thread_pool_num设置为0或小于线程池group数时静态线程池默认值为0。

    参数:nan

    返回值:text node_name、int group_id、text worker_info,返回字段如表1所示。

    表1 GS_STATIC_THREADPOOL_CTRL_STATUS字段

    名称

    类型

    描述

    node_name

    OUT text

    实例名。

    group_id

    OUT int

    线程池group组id。

    worker_info

    OUT text

    描述当前group组线程池运行中的动态的统计信息。包括如下信息:

    default、default_s:线程数量。动态线程池默认值,静态线程池默认值。

    expect、expect_s:线程数量。动态线程池预期值,静态线程池预期值。

    actual:实际运行的线程数量,包括动态池线程和静态池线程。

    static threads limit:当前group组配置的静态池线程数。

    has static threads:当前group组是否创建静态池。默认为0,表示没有创建。

    idle static threads:空闲的静态池线程个数。

    wait session num:等待的会话数。

  • gs_thrdstream_worker_info()

    描述:查询stream线程池相关统计信息。仅支持在以线程池模式运行的DN上查询。

    参数:nan

    返回值:text node_name、int group_id、text db_info、text stream_info。返回字段如表2所示。

    表2 GS_THRDSTREAM_WORKER_INFO字段

    名称

    类型

    描述

    node_name

    OUT text

    实例名。

    group_id

    OUT integer

    线程池group组id。

    db_info

    OUT text

    描述当前group组stream线程池运行中的动态的DATABASE统计信息。包括如下信息:

    • total stream reusing db:stream线程池当前使用或复用中的DATABASE数量。
    • free session db:stream线程池当前暂未运行session的DATABASE数量。

    stream_info

    OUT text

    描述当前group组stream线程池运行中的动态的stream线程统计信息。包括如下信息:

    • actual: 实际启动的stream线程数。
    • idle:空闲的stream线程数。
    • using:使用中的stream线程数。
    • init session threads:初始化session的stream线程数。
    • reuse session threads:复用session的stream线程数。
  • pg_stat_get_pooler_status()

    描述:查询pooler中的缓存连接状态。

    参数:nan

    返回值类型:如表3所示。

    表3 pg_stat_get_pooler_status返回值字段

    名称

    类型

    描述

    database_name

    OUT text

    数据库名称。

    user_name

    OUT text

    用户名。

    tid

    OUT bigint

    非线程池逻辑下为连接CN的线程id,线程池逻辑下为连接CN的sessionid。

    pgoptions

    OUT text

    数据库连接选项,详见《开发指南》中“应用程序开发教程 > 附录 > libpq > 连接参数说明”描述的options字段。

    node_oid

    OUT bigint

    连接的实例节点OID。

    in_use

    OUT boolean

    连接是否正被使用。
    • t(true):表示连接正在使用。
    • f(false):表示连接没有使用。

    session_params

    OUT text

    由此连接下发的GUC session参数。

    fdsock

    OUT bigint

    本端socket。

    local_host

    OUT text

    本端IP。

    local_port

    OUT bigint

    本端端口号。

    remote_host

    OUT text

    对端IP。

    remote_port

    OUT bigint

    对端端口号。

    remote_pid

    OUT bigint

    对端处于非线程池逻辑下为对端的线程id,对端处于线程池逻辑下为对端的sessionid。

    used_count

    OUT bigint

    该连接的复用次数。

    idx

    OUT bigint

    通信对端DN在本CN内的标识编号。

    streamid

    OUT bigint

    通信流在物理连接中的标识编号。

  • gs_stat_get_pooler_agent()

    描述:查询当前连接的CN上Pooler agent的信息,用于辅助连接池问题定位。访问该函数需要系统管理员权限。如果连接DN进行查询,将会返回空表。

    参数:nan

    返回值类型:如表4所示。

    表4 gs_stat_get_pooler_agent()返回字段

    名称

    类型

    描述

    index

    OUT bigint

    当前agent在全局agent中的下标。

    database_name

    OUT text

    当前会话的数据库名称。

    user_name

    OUT text

    当前会话的用户名。

    session_id

    OUT bigint

    • 非线程池逻辑下为连接CN的线程id。
    • 线程池逻辑下为连接CN的sessionid。

    dn_oids

    OUT oid[]

    记录的DN OID列表。

    cn_oids

    OUT oid[]

    记录的CN OID列表。

    agent_init

    OUT timestamp with time zone

    agent初始化的时间,agent在会话创建或pgxc表信息reload时进行初始化。

  • get_node_modulo()

    描述:计算节点在group中的下标。

    参数:如表5所示。

    表5 get_node_modulo入参列表

    参数

    类型

    描述

    取值范围

    node_oid

    IN oid

    节点OID。

    [0, 2^32-1]

    group_oid

    IN oid

    nodegroup的OID。

    [0, 2^32-1]

    返回值类型:uint4

  • check_murmurhash_route_node()

    描述:计算key分布的节点是否正确。

    参数:如表6所示。

    表6 check_murmurhash_route_node入参列表

    参数

    类型

    描述

    取值范围

    key

    IN text

    表示hash键的字符串。

    -

    node_modulo

    IN uint4

    节点在nodegroup中的下标。

    [0, 2^32-1]

    node_num

    IN uint4

    nodegroup的节点数量。

    [0, 2^32-1]

    返回值类型:uint4

  • gs_libcomm_fd_info()

    描述:查询libcomm通信库socket长连接信息。

    参数:nan

    返回值:如表7所示。

    表7 gs_libcomm_fd_info返回值字段

    名称

    类型

    描述

    node_name

    OUT text

    DN实例名。

    ip

    OUT text

    DN的IP。

    ctrl_port

    OUT bigint

    控制通道端口。

    data_port

    OUT bigint

    数据通道端口。

    remote_name

    OUT text

    对端DN实例名。

    remote_ip

    OUT text

    对端IP。

    remote_port

    OUT bigint

    对端端口号。

    local_ip

    OUT text

    本地IP。

    local_port

    OUT bigint

    本地端口号。

    fd

    OUT bigint

    socket连接。

    type

    OUT text

    TCP连接通道类型,包括:

    • DATA_SEND_FD:数据通道发送端的socket。
    • DATA_RECV_FD:数据通道接收端的socket。
    • CTL_SEND_FD:控制通道发送端的socket。
    • CTL_RECV_FD:控制通道接收端的socket。

    该函数只能在DN上使用。若函数返回空,表示当前DN实例未建立libcomm长连接。

  • gs_libcomm_memory_info()

    描述:查询当前libcomm通信库内部内存使用的基础配置信息。

    参数:nan

    返回值:如表8所示。

    表8 gs_libcomm_memory_info返回值字段

    名称

    类型

    描述

    node_name

    OUT text

    DN实例名。

    current_used_memory

    OUT bigint

    libcomm通信库使用内存,单位为字节(byte)。

    current_data_item_num

    OUT bigint

    libcomm无锁队列数据块个数。

    init_mailbox_memory

    OUT bigint

    libcomm初始化mailbox使用的内存,单位为字节(byte)。

    max_datanode

    OUT bigint

    libcomm通信库支持的最大DN个数。

    max_stream

    OUT bigint

    libcomm单个TCP连接支持的最大数据流个数。

    max_quota_size

    OUT bigint

    libcomm逻辑连接的buffer总大小,单位为字节(byte)。

    max_usable_memory

    OUT bigint

    libcomm通信库缓存最大可使用内存,单位为字节(byte)。

    max_memory_pool

    OUT bigint

    libcomm通信库在每个DN上可以使用的内存资源池总大小,单位为字节(byte)。

  • gs_validate_ext_listen_ip()

    描述:连接DN实例执行,查询连接原扩展IP的无效的DN实例上的业务线程并支持清理。

    参数:如表9所示。

    返回值:bigint pid、text node_name

    注意:该函数仅用于当扩展IP被reload之后,原扩展IP上仍然存在旧的连接,该函数支持原IP连接所在线程被清理。执行该函数会导致扩展IP通信侦听被清理,运维操作请谨慎使用。当前仅支持连接DN执行,并由管理员下发。

    表9 GS_VALIDATE_EXT_LISTEN_IP字段

    名称

    类型

    描述

    clear

    IN cstring

    是否清理,on清理,off不清理。

    validate_node_name

    IN cstring

    指定所要清理扩展IP连接所在DN实例名。

    validate_ip

    IN cstring

    指定所要清理具体的扩展IP。

    pid

    OUT bigint

    被清理的扩展IP连接所在业务线程ID。

    node_name

    OUT text

    被清理的扩展IP连接所在实例名。

  • gs_comm_listen_address_ext_info()

    描述:显示当前实例连接listen_address_ext配置扩展IP的DFX信息。

    参数:nan

    返回值类型:text node_name、text app、bigint tid、integer lwtid、bigint query_id、integer socket、text remote_ip、text remote_port、text local_ip、text local_port。返回字段如表10所示。

    表10 GS_COMM_LISTEN_ADDRESS_EXT_INFO字段

    名称

    类型

    描述

    node_name

    OUT text

    描述当前实例名。

    app

    OUT text

    描述当前连接DN的客户端。

    tid

    OUT bigint

    描述当前线程的线程号。

    lwtid

    OUT integer

    描述当前线程的轻量级线程号。

    query_id

    OUT bigint

    描述当前线程的查询ID。

    socket

    OUT integer

    描述当前物理连接的socket fd。

    remote_ip

    OUT text

    描述当前连接对端IP。

    remote_port

    OUT text

    描述当前连接对端port。

    local_ip

    OUT text

    描述当前连接本端IP。

    local_port

    OUT text

    描述当前连接本端port。

  • gs_get_global_listen_address_ext_info

    描述:CN上提供查询全局扩展IP配置信息。

    参数:如表11所示。

    返回值类型:text node_name、text host、text port、text ext_listen_ip

    注意: 若函数入参为“all”,则函数依赖ext_ip_info静态配置文件,若文件异常需要依赖CM/OM工具修复,此时无法实时更新配置。用户可以通过入参为“primary”获取所有主DN相关配置信息。

    表11 GS_GET_GLOBAL_LISTEN_ADDRESS_EXT_INFO字段

    名称

    类型

    描述

    dn_mode

    IN cstring

    指定显示的DN范围,null默认查询所有。

    node_name

    OUT text

    DN实例名。

    host

    OUT text

    DN实例侦听IP。

    port

    OUT text

    DN实例侦听port。

    ext_listen_ip

    OUT text

    DN实例侦听扩展IP。

  • gs_get_listen_address_ext_info()

    描述:提供查询当前实例扩展IP配置信息。

    参数:nan

    返回值类型:text node_name、text host、bigint port、text ext_listen_ip。返回字段如表12所示。

    表12 GS_GET_LISTEN_ADDRESS_EXT_INFO

    名称

    类型

    描述

    node_name

    OUT text

    DN实例名。

    host

    OUT text

    DN实例侦听IP。

    port

    OUT bigint

    DN实例侦听port。

    ext_listen_ip

    OUT text

    DN实例侦听扩展IP。

  • psortoptions()

    描述:返回psort属性。

    参数:text[]、boolean

    返回值类型:bytea

  • remove_job_class_depend()

    描述:移除job依赖。

    参数:oid

    返回值类型:void

  • xideq4()

    描述:对比两个xid是否相等。

    参数:xid32、xid32

    返回值类型:boolean

  • xideqint8()

    描述:对比两个xid是否相等。

    参数:xid、bigint

    返回值类型:boolean

  • xidlt()

    描述:返回xid1 < xid2是否成立。

    参数:xid、xid

    返回值类型:boolean

  • xidlt4()

    描述:返回xid1 < xid2是否成立。

    参数:xid32、xid32

    返回值类型:boolean

  • get_local_cont_query_stat()

    描述:获取本机节点的指定持续计算视图统计信息。

    参数:cq_id oid

    返回值类型:cq oid、w_in_rows int8、w_in_bytes int8、w_out_rows int8、w_out_bytes int8、w_pendings int8、w_errors int8、r_in_rows int8、r_in_bytes int8、r_out_rows int8、r_out_bytes int8、r_errors int8、c_in_rows int8、c_in_bytes int8、c_out_rows int8、c_out_bytes int8、c_pendings int8、c_errors int8

  • get_local_cont_query_stats()

    描述:获取本机节点的所有持续计算视图统计信息。

    参数:nan

    返回值类型:cq oid、w_in_rows int8、w_in_bytes int8、w_out_rows int8、w_out_bytes int8、w_pendings int8、w_errors int8、r_in_rows int8、r_in_bytes int8、r_out_rows int8、r_out_bytes int8、r_errors int8、c_in_rows int8、c_in_bytes int8、c_out_rows int8、c_out_bytes int8、c_pendings int8、c_errors int8

  • get_cont_query_stats()

    描述:获取各个DN节点的所有持续计算视图统计信息。

    参数:nan

    返回值类型:node name、cq oid、w_in_rows int8、w_in_bytes int8、w_out_rows int8、w_out_bytes int8、w_pendings int8、w_errors int8、r_in_rows int8、r_in_bytes int8、r_out_rows int8、r_out_bytes int8、r_errors int8、c_in_rows int8、c_in_bytes int8、c_out_rows int8、c_out_bytes int8、c_pendings int8、c_errors int8

  • reset_local_cont_query_stat()

    描述:复位本机节点的指定持续计算视图统计信息。

    参数:cq_id oid

    返回值类型:boolean

  • reset_local_cont_query_stats()

    描述:复位本机节点的指定持续计算视图的关联统计信息。

    参数:cq_id oid

    返回值类型:boolean

  • reset_cont_query_stats()

    描述:复位各个DN节点的STREAM对象对应的持续计算视图统计信息。

    参数:stream_id oid

    返回值类型:boolean

  • check_cont_query_schema_changed()

    描述:判断指定持续计算视图的schema change状态。

    参数:cq_id oid

    返回值类型:boolean

  • gs_get_standby_cluster_barrier_status()

    描述:查看备cn/dn的barrier日志回放情况,包括已接收到的最新barrier点、已接收到的最新barrier点的LSN,上一次回放的barrier点,回放的目标barrier点。

    参数:nan

    返回值类型:barrier_id text、barrier_lsn text、recovery_id text、target_id text

    备注:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限,运维管理员角色须打开operation_mode。

  • gs_set_standby_cluster_target_barrier_id()

    描述:设置回放的目标barrier点。

    参数:barrier_id字符串

    返回值类型:target_id text

    备注:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限,运维管理员角色须打开operation_mode。

  • gs_query_standby_cluster_barrier_id_exist()

    描述:查询指定barrier点备机是否接收到。

    参数:barrier_id字符串

    返回值类型:boolean

    备注:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限,运维管理员角色须打开operation_mode。

  • standby_read_status()

    描述:用于“GTM_FREE 分布式备机读”功能,获取集群内部所有DN的csn快照信息和主备差异时长,以及最后一次备机读查询所用的csn快照信息。

    参数:nan

    返回值类型:text、text、text、integer、bigint、bigint、bigint。返回字段如表13所示。

    表13 standby_read_status字段

    名称

    类型

    描述

    name

    text

    DN节点名称。

    type

    text

    DN节点类型。(主机为primary,备机为standby)

    host

    text

    DN节点所使用的IP。

    port

    integer

    DN节点所使用的PORT。

    collected_csn

    bigint

    该DN的csn快照信息。(主机为0,备机为当前收集到的csn)

    delay

    bigint

    主备DN之间的差异,单位为毫秒。

    visited_csn

    bigint

    最后一次备机读查询使用的csn信息(仅最后一次查询执行的备机有值其余为0)

  • gs_shutdown_cross_region_walsenders()

    描述:中断跨集群流式复制。

    参数:nan

    返回值类型:void

    备注:调用该函数的用户需要具有SYSADMIN权限或具有OPRADMIN权限,运维管理员角色须打开operation_mode。

    以下流函数虽存在但功能尚未支持,不建议使用:

    streaming_int8_avg_gather、streaming_numeric_avg_gather、streaming_float8_avg_gather、streaming_interval_avg_gather、streaming_int8_sum_gather、streaming_int2_int4_sum_gather。

  • is_dblink_in_transaction()

    描述:判断当前事务中是否使用了oid对应的DATABASE LINK。

    参数:oid

    返回值类型:boolean

  • dblink_has_updatasent()

    描述:判断当前事务中是否使用oid对应的DATABASE LINK发送了dml语句且未提交。

    参数:oid

    返回值类型:boolean

  • get_last_xmin_by_oid()

    描述:通过表的oid获取该表所有字段中最大的xmin值。

    参数:oid

    返回值类型:xid

  • get_relid_by_relname()

    描述:通过表的表名及relnamespace获取表的oid。

    参数:cstring、oid

    返回值类型:oid

  • btint12cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int1、int2

    返回值类型:integer

  • btint14cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int1、int4

    返回值类型:integer

  • btint18cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int1、int8

    返回值类型:integer

  • btint116cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int1、int16

    返回值类型:integer

  • btint1numericcmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int1、numeric

    返回值类型:integer

  • btint21cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int2、int1

    返回值类型:integer

  • btint216cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int2、int16

    返回值类型:integer

  • btint2numericcmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int2、numeric

    返回值类型:integer

  • btint41cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int4、int1

    返回值类型:integer

  • btint416cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int4、int16

    返回值类型:integer

  • btint4numericcmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int4、numeric

    返回值类型:integer

  • btint81cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int8、int1

    返回值类型:integer

  • btint816cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int8、int16

    返回值类型:integer

  • btint8numericcmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int8、numeric

    返回值类型:integer

  • btint161cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int16、int1

    返回值类型:integer

  • btint162cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int16、int2

    返回值类型:integer

  • btint164cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int16、int4

    返回值类型:integer

  • btint168cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int16、int8

    返回值类型:integer

  • btnumericint1cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:numeric、int1

    返回值类型:integer

  • btnumericint2cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:numeric、int2

    返回值类型:integer

  • btnumericint4cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:numeric、int4

    返回值类型:integer

  • btnumericint8cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:numeric、int8

    返回值类型:integer

  • btint16cmp()

    描述:比较两个参数的大小关系,大于返回正数,等于返回0,小于返回负数。

    参数:int16、int16

    返回值类型:integer

  • hashint16()

    描述:计算入参的hash值。

    参数:int16

    返回值类型:integer

  • hashint1_numeric()

    描述:计算入参的hash值。

    参数:int1

    返回值类型:integer

  • hashint2_numeric()

    描述:计算入参的hash值。

    参数:int2

    返回值类型:integer

  • hashint4_numeric()

    描述:计算入参的hash值。

    参数:int4

    返回值类型:integer

  • hashint8_numeric()

    描述:计算入参的hash值。

    参数:int8

    返回值类型:integer

  • int12eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int1、int2

    返回值类型:boolean

  • int14eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int1、int4

    返回值类型:boolean

  • int18eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int1、int8

    返回值类型:boolean

  • int116eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int1、int16

    返回值类型:boolean

  • int1numericeq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int1、numeric

    返回值类型:boolean

  • int21eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int2、int1

    返回值类型:boolean

  • int216eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int2、int16

    返回值类型:boolean

  • int2numericeq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int2、numeric

    返回值类型:boolean

  • int41eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int4、int1

    返回值类型:boolean

  • int416eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int4、int16

    返回值类型:boolean

  • int4numericeq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int4、numeric

    返回值类型:boolean

  • int81eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int8、int1

    返回值类型:boolean

  • int816eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int8、int16

    返回值类型:boolean

  • int8numericeq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int8、numeric

    返回值类型:boolean

  • int161eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int16、int1

    返回值类型:boolean

  • int162eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int16、int2

    返回值类型:boolean

  • int164eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int16、int4

    返回值类型:boolean

  • int168eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:int16、int8

    返回值类型:boolean

  • numericint1eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:numeric、int1

    返回值类型:boolean

  • numericint2eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:numeric、int2

    返回值类型:boolean

  • numericint4eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:numeric、int4

    返回值类型:boolean

  • numericint8eq()

    描述:比较两个参数是否相等,如果相等返回true,否则返回false。

    参数:numeric、int8

    返回值类型:boolean

  • int12ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int1、int2

    返回值类型:boolean

  • int14ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int1、int4

    返回值类型:boolean

  • int18ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int1、int8

    返回值类型:boolean

  • int116ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int1、int16

    返回值类型:boolean

  • int1numericne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int1、numeric

    返回值类型:boolean

  • int21ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int2、int1

    返回值类型:boolean

  • int216ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int2、int16

    返回值类型:boolean

  • int2numericne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int2、numeric

    返回值类型:boolean

  • int41ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int4、int1

    返回值类型:boolean

  • int416ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int4、int16

    返回值类型:boolean

  • int4numericne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int4、numeric

    返回值类型:boolean

  • int81ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int8、int1

    返回值类型:boolean

  • int816ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int8、int16

    返回值类型:boolean

  • int8numericne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int8、numeric

    返回值类型:boolean

  • int161ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int16、int1

    返回值类型:boolean

  • int162ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int16、int2

    返回值类型:boolean

  • int164ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int16、int4

    返回值类型:boolean

  • int168ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:int16、int8

    返回值类型:boolean

  • numericint1ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:numeric、int1

    返回值类型:boolean

  • numericint2ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:numeric、int2

    返回值类型:boolean

  • numericint4ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:numeric、int4

    返回值类型:boolean

  • numericint8ne()

    描述:比较两个参数是否不相等,如果不相等返回true,否则返回false。

    参数:numeric、int8

    返回值类型:boolean

  • int12lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int1、int2

    返回值类型:boolean

  • int14lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int1、int4

    返回值类型:boolean

  • int18lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int1、int8

    返回值类型:boolean

  • int116lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int1、int16

    返回值类型:boolean

  • int1numericlt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int1、numeric

    返回值类型:boolean

  • int21lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int2、int1

    返回值类型:boolean

  • int216lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int2、int16

    返回值类型:boolean

  • int2numericlt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int2、numeric

    返回值类型:boolean

  • int41lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int4、int1

    返回值类型:boolean

  • int416lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int4、int16

    返回值类型:boolean

  • int4numericlt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int4、numeric

    返回值类型:boolean

  • int81lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int8、int1

    返回值类型:boolean

  • int816lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int8、int16

    返回值类型:boolean

  • int8numericlt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int8、numeric

    返回值类型:boolean

  • int161lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int16、int1

    返回值类型:boolean

  • int162lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int16、int2

    返回值类型:boolean

  • int164lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int16、int4

    返回值类型:boolean

  • int168lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:int16、int8

    返回值类型:boolean

  • numericint1lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:numeric、int1

    返回值类型:boolean

  • numericint2lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:numeric、int2

    返回值类型:boolean

  • numericint4lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:numeric、int4

    返回值类型:boolean

  • numericint8lt()

    描述:比较两个参数是否是小于关系,如果是小于关系返回true,否则返回false。

    参数:numeric、int8

    返回值类型:boolean

  • int12gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int1、int2

    返回值类型:boolean

  • int14gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int1、int4

    返回值类型:boolean

  • int18gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int1、int8

    返回值类型:boolean

  • int116gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int1、int16

    返回值类型:boolean

  • int1numericgt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int1、numeric

    返回值类型:boolean

  • int21gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int2、int1

    返回值类型:boolean

  • int216gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int2、int16

    返回值类型:boolean

  • int2numericgt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int2、numeric

    返回值类型:boolean

  • int41gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int4、int1

    返回值类型:boolean

  • int416gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int4、int16

    返回值类型:boolean

  • int4numericgt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int4、numeric

    返回值类型:boolean

  • int81gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int8、int1

    返回值类型:boolean

  • int816gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int8、int16

    返回值类型:boolean

  • int8numericgt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int8、numeric

    返回值类型:boolean

  • int161gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int16、int1

    返回值类型:boolean

  • int162gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int16、int2

    返回值类型:boolean

  • int164gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int16、int4

    返回值类型:boolean

  • int168gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:int16、int8

    返回值类型:boolean

  • numericint1gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:numeric、int1

    返回值类型:boolean

  • numericint2gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:numeric、int2

    返回值类型:boolean

  • numericint4gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:numeric、int4

    返回值类型:boolean

  • numericint8gt()

    描述:比较两个参数是否是大于关系,如果是大于关系返回true,否则返回false。

    参数:numeric、int8

    返回值类型:boolean

  • int12le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int1、int2

    返回值类型:boolean

  • int14le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int1、int4

    返回值类型:boolean

  • int18le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int1、int8

    返回值类型:boolean

  • int116le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int1、int16

    返回值类型:boolean

  • int1numericle()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int1、numeric

    返回值类型:boolean

  • int21le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int2、int1

    返回值类型:boolean

  • int216le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int2、int16

    返回值类型:boolean

  • int2numericle()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int2、numeric

    返回值类型:boolean

  • int41le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int4、int1

    返回值类型:boolean

  • int416le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int4、int16

    返回值类型:boolean

  • int4numericle()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int4、numeric

    返回值类型:boolean

  • int81le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int8、int1

    返回值类型:boolean

  • int816le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int8、int16

    返回值类型:boolean

  • int8numericle()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int8、numeric

    返回值类型:boolean

  • int161le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int16、int1

    返回值类型:boolean

  • int162le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int16、int2

    返回值类型:boolean

  • int164le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int16、int4

    返回值类型:boolean

  • int168le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:int16、int8

    返回值类型:boolean

  • numericint1le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:numeric、int1

    返回值类型:boolean

  • numericint2le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:numeric、int2

    返回值类型:boolean

  • numericint4le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:numeric、int4

    返回值类型:boolean

  • numericint8le()

    描述:比较两个参数是否是小于或等于关系,如果是小于或等于关系返回true,否则返回false。

    参数:numeric、int8

    返回值类型:boolean

  • int12ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int1、int2

    返回值类型:boolean

  • int14ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int1、int4

    返回值类型:boolean

  • int18ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int1、int8

    返回值类型:boolean

  • int116ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int1、int16

    返回值类型:boolean

  • int1numericge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int1、numeric

    返回值类型:boolean

  • int21ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int2、int1

    返回值类型:boolean

  • int216ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int2、int16

    返回值类型:boolean

  • int2numericge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int2、numeric

    返回值类型:boolean

  • int41ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int4、int1

    返回值类型:boolean

  • int416ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int4、int16

    返回值类型:boolean

  • int4numericge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int4、numeric

    返回值类型:boolean

  • int81ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int8、int1

    返回值类型:boolean

  • int816ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int8、int16

    返回值类型:boolean

  • int8numericge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int8、numeric

    返回值类型:boolean

  • int161ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int16、int1

    返回值类型:boolean

  • int162ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int16、int2

    返回值类型:boolean

  • int164ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int16、int4

    返回值类型:boolean

  • int168ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:int16、int8

    返回值类型:boolean

  • numericint1ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:numeric、int1

    返回值类型:boolean

  • numericint2ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:numeric、int2

    返回值类型:boolean

  • numericint4ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:numeric、int4

    返回值类型:boolean

  • numericint8ge()

    描述:比较两个参数是否是大于或等于关系,如果是大于或等于关系返回true,否则返回false。

    参数:numeric、int8

    返回值类型:boolean

  • timestamp_in

    描述:将输入的cstring类型转为timestamp类型。

    参数:cstring

    返回值类型:timestamp

  • timestamp_out

    描述:将timestamp类型转为cstring类型。

    参数:timestamp

    返回值类型:cstring

  • datea_cmp

    描述:比较两个参数大小,若第一个参数大于第二个参数则返回1,若第一个参数小于第二个参数则返回-1,如果两者相等则返回0。

    参数:datea、datea

    返回值类型:int4

  • datea_eq

    描述:比较两个参数是否相等,如果相等则返回true,否则返回false。

    参数:datea、datea

    返回值类型:boolean

  • datea_ge

    描述:如果第一个参数大于等于第二个参数则返回true,否则返回false。

    参数:datea、datea

    返回值类型:boolean

  • datea_gt

    描述:如果第一个参数大于第二个参数则返回true,否则返回false。

    参数:datea、datea

    返回值类型:boolean

  • datea_le

    描述:如果第一个参数小于等于第二个参数则返回true,否则返回false。

    参数:datea、datea

    返回值类型:boolean

  • datea_lt

    描述:如果第一个参数小于第二个参数则返回true,否则返回false。

    参数:datea、datea

    返回值类型:boolean

  • datea_neq

    描述:比较两个参数是否不相等,如果不相等则返回true,否则返回false。

    参数:datea、datea

    返回值类型:boolean

  • datea_pl_interval

    描述:返回datea类型和interval类型相加得到的结果。

    参数:datea、interval

    返回值类型:datea

  • interval_pl_datea

    描述:返回interval类型和datea类型相加得到的结果。

    参数:interval、datea

    返回值类型:datea

  • datea_pl_float4

    描述:返回datea类型和float4类型相加得到的结果。

    参数:datea、float4

    返回值类型:datea

  • float4_pl_datea

    描述:返回float4类型和datea类型相加得到的结果。

    参数:float4、datea

    返回值类型:datea

  • datea_pl_float8

    描述:返回datea类型和float8类型相加得到的结果。

    参数:datea、float8

    返回值类型:datea

  • float8_pl_datea

    描述:返回float8类型和datea类型相加得到的结果。

    参数:float8、datea

    返回值类型:datea

  • datea_pl_int8

    描述:返回datea类型和int8类型相加得到的结果。

    参数:datea、int8

    返回值类型:datea

  • int8_pl_datea

    描述:返回int8类型和datea类型相加得到的结果。

    参数:int8、datea

    返回值类型:datea

  • datea_pl_text

    描述:返回datea类型和text类型相加得到的结果。

    参数:datea、text

    返回值类型:datea

  • text_pl_datea

    描述:返回text类型和datea类型相加得到的结果。

    参数:text、datea

    返回值类型:datea

  • numeric_pl_datea

    描述:返回numeric类型和datea类型相加得到的结果。

    参数:numeric、datea

    返回值类型:datea

  • datea_mi_interval

    描述:返回datea类型和interval类型相减得到的结果。

    参数:datea、interval

    返回值类型:datea

  • datea_mi

    描述:返回两个datea类型相减得到的结果。

    参数:datea、datea

    返回值类型:numeric

  • datea_mi_timestamp

    描述:返回datea类型和timestamp类型相减得到的结果。

    参数:datea、timestamp

    返回值类型:interval

  • timestamp_mi_datea

    描述:返回timestamp类型和datea类型相减得到的结果。

    参数:timestamp、datea

    返回值类型:interval

  • datea_mi_float4

    描述:返回datea类型和float4类型相减得到的结果。

    参数:datea、float4

    返回值类型:datea

  • datea_mi_float8

    描述:返回datea类型和float8类型相减得到的结果。

    参数:datea、float8

    返回值类型:datea

  • datea_mi_int8

    描述:返回datea类型和int8类型相减得到的结果。

    参数:datea、int8

    返回值类型:datea

  • datea_mi_numeric

    描述:返回datea类型和numeric类型相减得到的结果。

    参数:datea、numeric

    返回值类型:datea

  • datea_mi_text

    描述:返回datea类型和text类型相减得到的结果。

    参数:datea、text

    返回值类型:datea

  • datea_larger

    描述:返回两个datea类型中较大的值。

    参数:datea、datea

    返回值类型:datea

  • datea_smaller

    描述:返回两个datea类型中较小的值。

    参数:datea、datea

    返回值类型:datea

  • datea_in

    描述:将输入的cstring类型转为datea类型。

    参数:cstring

    返回值类型:datea

  • datea_out

    描述:将datea类型转为cstring类型。

    参数:datea

    返回值类型:cstring

  • datea_recv

    描述:将二进制数据转换为datea类型。

    参数:internal

    返回值类型:datea

  • datea_send

    描述:将datea类型转换为二进制数据。

    参数:datea

    返回值类型:bytea

  • rowid_cmp(rowid, rowid)

    描述:比较两个参数大小,若第一个参数大于第二个参数则返回1,若第一个参数小于第二个参数则返回-1,如果两者相等则返回0。

    参数:rowid、rowid

    返回值类型:int4

  • rowid_eq(rowid, rowid)

    描述:比较两个参数是否相等,如果相等则返回true,否则返回false。

    参数:rowid、rowid

    返回值类型:boolean

  • rowid_ge(rowid, rowid)

    描述:如果第一个参数大于等于第二个参数则返回true,否则返回false。

    参数:rowid、rowid

    返回值类型:boolean

  • rowid_gt(rowid, rowid)

    描述:如果第一个参数大于第二个参数则返回true,否则返回false。

    参数:rowid、rowid

    返回值类型:boolean

  • rowid_le(rowid, rowid)

    描述:如果第一个参数小于等于第二个参数则返回true,否则返回false。

    参数:rowid、rowid

    返回值类型:boolean

  • rowid_lt(rowid, rowid)

    描述:如果第一个参数小于第二个参数则返回true,否则返回false。

    参数:rowid、rowid

    返回值类型:boolean

  • rowid_ne(rowid, rowid)

    描述:比较两个参数是否不相等,如果不相等则返回true,否则返回false。

    参数:rowid、rowid

    返回值类型:boolean

  • rowid_larger(rowid, rowid)

    描述:返回两个rowid类型中较大的值。

    参数:rowid、rowid

    返回值类型:rowid

  • rowid_smaller(rowid, rowid)

    描述:返回两个rowid类型中较小的值。

    参数:rowid、rowid

    返回值类型:rowid

  • rowid_in(cstring)

    描述:将输入的cstring类型转为rowid类型。

    参数:cstring

    返回值类型:rowid

  • rowid_out(rowid)

    描述:将rowid类型转为cstring类型。

    参数:rowid

    返回值类型:cstring

  • rowid_recv(internal)

    描述:将二进制数据转换为rowid类型。

    参数:internal

    返回值类型:rowid

  • rowid_send(rowid)

    描述:将rowid类型转换为二进制数据。

    参数:rowid

    返回值类型:bytea

  • gs_relation_is_updatable()

    描述:返回关系是否可插入、更新、删除。可更新返回4,可插入返回8,可删除返回16,同时满足的则返回对应值相加后得到的数值。

    参数:oid、boolean

    返回值类型:int32

  • gs_column_is_updatable()

    描述:返回列是否可更新,可更新返回t,否则返回f。

    参数:oid、int16、boolean

    返回值类型:boolean

  • hash_meet_partition(partition_num, hash_key_name1, hash_key_name2)

    描述:用于在线DDL交换分区中计算tuple位于指定的hash分区中。返回tuple所在分区的下标。

    参数:int32、text

    返回值类型:int32

    参数说明

    类型

    描述

    取值范围

    partition_num

    int32

    分区表的总分区数。

    -

    hash_key_name

    text

    hash分区表的分区键名称。可变参数,个数与分区键个数一致。

    -

    示例:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    --创建表。
    gaussdb=# CREATE TABLE t1(c1 INT,c2 INT) PARTITION BY HASH(c2)
    (
        PARTITION P1,
        PARTITION P2,
        PARTITION P3
    );
    
    gaussdb=# INSERT INTO t1 VALUES(generate_series(1,10), generate_series(1,10));
    
    gaussdb=# SELECT * FROM t1 WHERE hash_meet_partition(3, c2) = 0;
     c1 | c2
    ----+----
      1 |  1
      4 |  4
      8 |  8
      9 |  9
     10 | 10
    (5 rows)
    
    gaussdb=# SELECT * FROM t1 partition (p1);
     c1 | c2
    ----+----
      1 |  1
      4 |  4
      8 |  8
      9 |  9
     10 | 10
    (5 rows)
    
  • online_ddl_cleanup(relschema, relname)

    描述:用于在线DDL或在线Vacuum full执行过程中发生故障后,对临时工具进行清理恢复。

    参数:text、text

    返回值类型:text

    参数

    类型

    描述

    取值范围

    relschema

    text

    表所在的模式。

    -

    relname

    text

    表的名称。

    -

    • 备机上不支持online_ddl_cleanup。
    • 故障发生后,在下次执行在线DDL或在线VACUUM FULl时,会自动清理表上的临时状态。

    示例:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    --创建表
    gaussdb=# CREATE TABLE t1(c1 int, c2 int);
    --执行在线DDL
    gaussdb=# ALTER TABLE ONLINE t1 ALTER c2 type BIGINT;
    
    --故障发生后进行清理恢复
    gaussdb=# SELECT online_ddl_cleanup('public','t1');
     online_ddl_cleanup 
    --------------------
     cleanup success
    (1 row)
    
  • gs_stat_progress_online_ddl(relschema, relname)

    描述:查询系统中正在执行的在线VACUUM FULL的状态和进度。

    参数:两个参数可以同时缺省、同时为NULL或同时不为NULL。

    返回类型:table类型。其中每一行代表一个DDL的一个阶段。

    参数

    类型

    描述

    取值范围

    relschema

    cstring

    执行在线VACUUM FULL的Schema。

    -

    relname

    cstring

    执行在线VACUUM FULL的表名。

    -

    1. 当前版本仅支持在线VACUUM FULL的进度监控,不支持其它在线DDL的进度监控。
    2. 当relschema和relname参数非空时,可查询到该表残余的在线DDL信息。当relschema和relname参数均为空或者缺省时,可查询到所有正在执行的在线VACUUM FULL信息。
    3. 在线DDL的临时表位于“online$$ddl$$[(表所在的模式+表名)的hash值]”schema下。
    4. 若GUC参数delete_cctmp_table设置为on,在线DDL结束后将删除临时表的schema;若设置为off,则会将schema重命名为“online$$ddl$$[(表所在的模式+表名)的hash值]_[日期时间]”。
    5. 若当前用户为初始用户或系统管理员,可查询所有正在执行的在线VACUUM FULL进度信息;若为普通用户,则仅能查看当前用户自己所执行任务的进度信息。
    6. 进度监控信息为准实时:监控函数会实时返回当前的最新阶段,但对于每个阶段内部的进度信息不保证实时更新。

    示例:

      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    --会话1:执行在线Vacuum full
    gaussdb=# VACUUM FULL t1 online;
    --会话2: 执行进度监控函数
    gaussdb=# \x -- 修改输出排版
    gaussdb=# select * from gs_stat_progress_online_ddl('public', 't1') ;
    -[ RECORD 1 ]------+---------------------------------------------------------------------
    pid                | 139717555775232
    node_name          | coordinator2
    phase_id           | 1
    rel_schema         | public
    rel_name           | t1
    sql_command        | VACUUM FULL t1 online with (enable_cancel=true, parallel_threads=2);
    started_time       | 2026-07-14 17:09:54.977
    elapsed_time       | 10269
    phase_name         | Initialization
    phase_started_time | 2026-07-14 17:09:54.977
    phase_elapsed_time | 716
    lock_level         | 8
    lock_try_times     | 1
    lock_hold_time     | 705
    phase_detail       | 
    -[ RECORD 2 ]------+---------------------------------------------------------------------
    pid                | 139717555775232
    node_name          | coordinator2
    phase_id           | 2
    rel_schema         | public
    rel_name           | t1
    sql_command        | VACUUM FULL t1 online with (enable_cancel=true, parallel_threads=2);
    started_time       | 2026-07-14 17:09:54.977
    elapsed_time       | 10269
    phase_name         | Base data copy
    phase_started_time | 2026-07-14 17:09:56.003
    phase_elapsed_time | 2422
    lock_level         | 4
    lock_try_times     | 1
    lock_hold_time     | 2479
    phase_detail       | {
                       |         "total_pages":  4356,
                       |         "inserted_rows":        1000000,
                       |         "insert_speed": 447828.03403493058,
                       |         "parallel_threads":     2
                       | }
    -[ RECORD 3 ]------+---------------------------------------------------------------------
    pid                | 139717555775232
    node_name          | coordinator2
    phase_id           | 3
    rel_schema         | public
    rel_name           | t1
    sql_command        | VACUUM FULL t1 online with (enable_cancel=true, parallel_threads=2);
    started_time       | 2026-07-14 17:09:54.977
    elapsed_time       | 10269
    phase_name         | Reindexing
    phase_started_time | 2026-07-14 17:09:58.428
    phase_elapsed_time | 4656
    lock_level         | 4
    lock_try_times     | 1
    lock_hold_time     | 4432
    phase_detail       | {
                       |         "total_indexes":        2,
                       |         "indexes_rebuilt":      2,
                       |         "parallel_threads":     2,
                       |         "parallel_workers":     1
                       | }
    -[ RECORD 4 ]------+---------------------------------------------------------------------
    pid                | 139717555775232
    node_name          | coordinator2
    phase_id           | 4
    rel_schema         | public
    rel_name           | t1
    sql_command        | VACUUM FULL t1 online with (enable_cancel=true, parallel_threads=2);
    started_time       | 2026-07-14 17:09:54.977
    elapsed_time       | 10269
    phase_name         | Catchup 1
    phase_started_time | 2026-07-14 17:10:04.518
    phase_elapsed_time | 275
    lock_level         | 4
    lock_try_times     | 1
    lock_hold_time     | 23
    phase_detail       | {
                       |         "short_lock_level":     7,
                       |         "short_lock_try_times": 1,
                       |         "short_lock_hold_time": 252,
                       |         "total_delete_pages":   0,
                       |         "total_insert_pages":   0,
                       |         "deleted_rows": 0,
                       |         "delete_speed": 0,
                       |         "inserted_rows":        0,
                       |         "insert_speed": 0,
                       |         "last_catchup_threshold":       5000,
                       |         "max_catchup_times":    50
                       | }
    -[ RECORD 5 ]------+---------------------------------------------------------------------
    pid                | 139717555775232
    node_name          | coordinator2
    phase_id           | 5
    rel_schema         | public
    rel_name           | t1
    sql_command        | VACUUM FULL t1 online with (enable_cancel=true, parallel_threads=2);
    started_time       | 2026-07-14 17:09:54.977
    elapsed_time       | 10269
    phase_name         | Last catchup
    phase_started_time | 2026-07-14 17:10:04.926
    phase_elapsed_time | 299
    lock_level         | 8
    lock_try_times     | 1
    lock_hold_time     | 74
    phase_detail       | {
                       |         "total_delete_pages":   0,
                       |         "total_insert_pages":   0,
                       |         "deleted_rows": 0,
                       |         "delete_speed": 0,
                       |         "inserted_rows":        0,
                       |         "insert_speed": 0,
                       |         "last_catchup_threshold":       5000,
                       |         "max_catchup_times":    50
                       | }
    
    各个字段的含义:

    参数

    描述

    pid

    进程ID。

    node_name

    执行的节点名称。

    phase_id

    阶段编号,顺序递增。

    rel_schema

    表所在的模式。

    rel_name

    表的名字。

    sql_command

    执行的SQL语句。

    started_time

    SQL语句开始执行的时间。

    elapsed_time

    截止查询时已执行时间。

    phase_name

    在线DDL执行阶段的名称,包括“Initialization”、“Base data copy”、“Reindexing”、“Catchup <N>”和“Last catchup”五类。

    phase_started_time

    该阶段开始的时间。

    phase_elapsed_time

    该阶段实际已经执行的时间。

    lock_level

    锁级别。

    lock_try_times

    拿锁的尝试次数。取值范围:

    • 大于等于1:表示已经获取到锁。
    • 0:表示尚未获取到锁,或获取到锁但进度信息未实时更新。

    lock_hold_time

    拿锁的持续时间。

    phase_detail

    当前阶段的具体信息。JSON格式,各个阶段展示的信息可能不同。

    • 初始化(Initialization)阶段phase_detail的信息为空。
    • 基础数据同步(Base data copy)阶段phase_detail包括以下字段:

      参数

      描述

      total_pages

      预计需要插入的page数量。

      inserted_rows

      实际插入的行数,在阶段结束后更新。

      insert_speed

      实际插入速率,在阶段结束后更新。

      parallel_threads

      本阶段待采用或实际采用的parallel_threads参数值。如果表中含有表达式索引,则无法并行建索引,parallel_threads始终为1。

    • 重建索引(Reindexing)阶段phase_detail包括以下字段:

      参数

      描述

      total_indexes

      总共需要重建的索引。

      indexes_rebuilt

      当前已经重建的索引数量。

      parallel_threads

      本阶段待采用或实际采用的parallel_threads参数值。如果表中含有表达式索引,则无法并行建索引,parallel_threads始终为1。

      parallel_workers

      源表的parallel_workers选项,详细信息请参见ALTER TABLE章节中对parallel_workers的描述。

      在线DDL执行期间,会对生成的临时表额外创建2个索引(临时表位于“online$$ddl$$[(表所在的模式+表名)的hash值]”schema下)。因此,total_index的值等于用户创建的索引数量加2。

      并行构建索引时,不能保证indexes_rebuilt的值实时更新。

    • 追增(Catchup <N>)阶段phase_detail包括以下字段:

      参数

      描述

      short_lock_level

      追增阶段开始时短暂持有强锁的锁级别。

      short_lock_try_times

      追增阶段开始时尝试获取强锁的重试次数。

      short_lock_hold_time

      追增阶段开始时短暂持有强锁的持续时间。

      total_delete_pages

      预计需要删除的page数量。

      total_insert_pages

      预计需要插入的page数量。

      deleted_rows

      实际删除的行数,在阶段结束后更新。

      delete_speed

      实际删除的速率,在阶段结束后更新。

      inserted_rows

      实际插入的行数,在阶段结束后更新。

      insert_speed

      实际插入的速率,在阶段结束后更新。

      last_catchup_threshold

      本阶段执行时,待采用或实际采用的last_catchup_threshold参数值。

      max_catchup_times

      本阶段执行时,待采用或实际采用的max_catchup_times参数值。

    • 最后一轮追增(Last catchup)阶段phase_detail包括以下字段:

      参数

      描述

      total_delete_pages

      预计需要删除的page数量。

      total_insert_pages

      预计需要插入的page数量。

      deleted_rows

      实际删除的行数,在阶段结束后更新。

      delete_speed

      实际删除的速率,在阶段结束后更新。

      inserted_rows

      实际插入的行数,在阶段结束后更新。

      insert_speed

      实际插入的速率,在阶段结束后更新。

      last_catchup_threshold

      本阶段执行时,待采用或实际采用的last_catchup_threshold参数值。

      max_catchup_times

      本阶段执行时,待采用或实际采用的max_catchup_times参数值。

      total_gpis

      需要重建的全局分区索引(Global Partition Index,GPI)数量。仅在DDL为分区级VACUUM FULL时展示。

      gpis_rebuilt

      已重建的GPI数量。在当前版本中,该参数不会实时更新,仅在所有GPI重建完成后,其值一次性更新为total_GPIs。该字段仅当在线VACUUM FULL操作为分区级时展示。

      parallel_workers

      源表的parallel_workers选项,详细信息请参见ALTER TABLE章节中对parallel_workers的描述。

      重建索引阶段的parallel_workers由在线DDL参数parallel_threads和表的大小共同影响。但在最后一轮追增过程中,parallel_workers不受在线DDL的parallel_threads参数影响。

  • gs_online_ddl_set_parameters(relschema, relname, params)

    描述:用于在ONLINE DDL或ONLINE VACUUM FULL执行过程中动态修改参数。

    参数:

    • relschema: 表的模式名,类型为cstring,不可为空。
    • relname:表名,类型为cstring,不可为空。
    • params: 可选参数,类型为变长text[],表示要修改的参数键值对,格式为'key', 'value',一次可更新多个参数。
      • 若提供params参数,则按键值对进行修改,最多支持7对键值对。其中,key必须为系统支持的参数,value必须为该参数支持范围内的有效值。
      • 若不提供params参数,则执行查询功能,返回该函数支持的所有参数值。
      • 若同一个参数被多次输入、参数值不在支持范围,或键值对数量超过7对,则报错并提示params参数错误。
    • 参数校验规则:仅处理白名单里的参数和对应合法值,否则将报错处理。
    • 权限管控规则:该系统函数仅限系统管理员、初始用户和VACUUM FULL执行用户才可以修改和查询参数信息。

    返回值类型:一行多列text,返回当前指定表上正在执行的ONLINE DDL的所有参数值。

    示例:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    gaussdb=# CREATE TABLE t1(c1 int, c2 int);
    
    --会话1:执行在线Vacuum full
    gaussdb=# VACUUM FULL t1 online;
    --会话2: 
    gaussdb=# SELECT * from gs_online_ddl_set_parameters('public', 't1', 'last_catchup_threshold', '10000', 'max_catchup_times', '30','parallel_threads', '2','online_ddl_lockwait_timeout', '10', 'lockwait_interval', '10', 'trylock_threshold', '1', 'enable_cancel', 'true');
     parallel_threads | last_catchup_threshold | max_catchup_times | online_ddl_lockwait_timeout | lockwait_interval | trylock_threshold | enable_cancel 
    ------------------+------------------------+-------------------+-----------------------------+-------------------+-------------------+---------------
     2                | 10000                  | 30                | 10                          | 10                | 1                 | true
    (1 row)
    

    具体支持的参数如下:

    • parallel_threads:控制多线程并行,用于在资源充足的情况下追求更高性能。取值范围为1~32的整数,缺省时默认值为1。
      • 当用户开启资源管控(如io_limits > 0或io_priority = high/medium/low)时,parallel_threads将忽略用户/会话级别的资源管控,并提示当前资源管控无效,同时开启多线程加速。在线VACUUM FULL的多线程执行实际遵循初始用户的资源管控。
      • 该参数可与索引并行参数parallel_workers共同生效:parallel_workers控制VACUUM FULL期间索引构建的并行度,而parallel_threads控制VACUUM FULL期间追增阶段的并行度。
    • max_catchup_times:控制最大追增轮次,用于防止VACUUM FULL执行时间过长。取值范围为1至INT_MAX之间的整数值,缺省时默认值为50。
      • 在线VACUUM FULL会记录数据重建过程中的IUD增量数据到临时表,并采用多轮次循环追增,将增量数据进行重建。为防止由于IUD并发数据量过大导致VACUUM FULL无法完成追增的情况,用户可以设置该参数以限制追增次数。
    • last_catchup_threshold:触发最后一轮的追增时间上限。当完成一轮追增后,若该轮耗时小于该阈值,即可触发最后一轮追增和切换。取值范围为[1000,1200000],单位为毫秒,默认值为5000。
    • online_ddl_lockwait_timeout:在线DDL的等锁超时时间。若等锁线程在该时间内未能获取锁,则报锁超时失败。触发CANCEL模式拿锁时,实际使用的锁超时时间为此参数设置的2倍。取值范围为[1,1200000],单位为毫秒,默认值为10000。
    • lockwait_interval:等锁步长。即连续拿锁超时时的重试间隔。若当前轮次等锁超时,则等待该参数指定的时长后再进行下一轮尝试。取值范围为[0,300],单位为秒,默认值为5。
    • trylock_threshold:等锁尝试次数上限,需与enable_cancel参数同时使用。当达到该上限后若仍因等锁超时而无法获取锁,则下一次尝试将采用CANCEL模式。若未开启enable_cancel,达到上限后取锁失败并报错。取值范围为[1,INT_MAX],或-1(表示无上限),单位为次。默认值为-1。
    • enable_cancel:是否允许用户业务快速失败,即在达到等锁尝试次数上限,或在切表事务获取用户表8级锁时,通过快速中止用户业务来确保在线DDL成功获取锁。取值范围为[false,true],默认值为false。
  • anynesttable_out(anynesttable)

    描述:将anynesttable转换为cstring。

    参数:anynesttable

    返回类型:cstring

  • nesttable_count(a nesttable)

    描述:返回参数nesttable中的元素数量。

    参数:nesttable

    返回类型:int

  • nesttable_delete(a nesttable)

    描述:删除参数nesttable中的所有元素。

    参数:nesttable

    返回类型:nesttable

  • nesttable_delete(a nesttable, index int)

    描述:若给定下标index在nesttable范围之内,则删除nesttable中给定下标为index的元素。

    参数:nesttable、int

    返回类型:nesttable

  • nesttable_delete(a nesttable, lower int, upper int)

    描述:若给定下标lower和upper在nesttable范围之内,则删除nesttable中给定下标范围[lower, upper]内的元素。

    参数:nesttable、int、int

    返回类型:nesttable

  • nesttable_eq(a nesttable, b nesttable)

    描述:比较两个nesttable是否相等。

    参数:nesttable、nesttable

    返回类型:bool

  • nesttable_except(a nesttable, b nesttable)

    描述:获取两个nesttable参数的差集。

    参数:nesttable、nesttable

    返回类型:nesttable

  • nesttable_except_distinct(a nesttable, b nesttable)

    描述:获取两个nesttable参数去重后的差集。

    参数:nesttable、nesttable

    返回类型:nesttable

  • nesttable_exists(a nesttable, index int)

    描述:查找参数nesttable中指定下标index是否存在元素。

    参数:nesttable、int

    返回类型:nesttable

  • nesttable_extend(a nesttable, cnt int)

    描述:在nesttable变量末尾扩展cnt个元素空间。

    参数:nesttable、int

    返回类型:nesttable

  • nesttable_extend(a nesttable, cnt int, index int)

    描述:将nesttable变量末尾扩展cnt个元素空间,扩展元素的值等于给定index下标元素的值。

    参数:nesttable、int、int

    返回类型:nesttable

  • nesttable_first(a nesttable)

    描述:返回参数nesttable中第一个有效元素的下标,若没有则返回NULL。

    参数:nesttable

    返回类型:int

  • nesttable_in(str cstring, oid Oid, typmod int)

    描述:将字符串转换为指定oid的nesttable。

    参数:cstring、Oid、int

    返回类型:nesttable

  • nesttable_intersect(a nesttable, b nesttable)

    描述:获取两个nesttable参数的交集。

    参数:nesttable、nesttable

    返回类型:nesttable

  • nesttable_intersect_distinct(a nesttable, b nesttable)

    描述:获取两个nesttable参数去重后的交集。

    参数:nesttable、nesttable

    返回类型:nesttable

  • nesttable_last(a nesttable)

    描述:返回参数nesttable中最后一个有效元素的下标,若没有则返回NULL。

    参数:nesttable

    返回类型:int

  • nesttable_ne(a nesttable, b nesttable)

    描述:比较两个nesttable是否不相等。

    参数:nesttable、nesttable

    返回类型:bool

  • nesttable_next(a nesttable, index int)

    描述:返回参数nesttable中指定下标index的后一个有效元素的下标,若没有则返回NULL。

    参数:nesttable、int

    返回类型:int

  • nesttable_out(a nesttable)

    描述:将nesttable转换为cstring。

    参数:nesttable

    返回类型:cstring

  • nesttable_prior(a nesttable, index int)

    描述:返回参数nesttable中指定下标index的前一个有效元素的下标,若没有则返回NULL。

    参数:nesttable、int

    返回类型:int

  • nesttable_trim(a nesttable, cnt int)

    描述:删除nesttable尾部的cnt个元素并释放对应的存储空间。

    参数:nesttable、int

    返回类型:int

  • nesttable_union(a nesttable, b nesttable)

    描述:获取两个nesttable参数的并集。

    参数:nesttable、nesttable

    返回类型:nesttable

  • nesttable_union_distinct(a nesttable, b nesttable)

    描述:获取两个nesttable参数去重后的并集。

    参数:nesttable、nesttable

    返回类型:nesttable

  • anyindexbytable_out(anyindexbytable)

    描述:将anyindexbytable转换为cstring。

    参数:anyindexbytable

    返回类型:cstring

  • indexbytable_count(a indexbytable)

    描述:返回indexbytable参数中的元素数量。

    参数:indexbytable

    返回类型:int

  • indexbytable_in(str cstring, oid Oid)

    描述:将字符串转换为指定oid的indexbytable。

    参数:cstring、Oid

    返回类型:indexbytable

  • indexbytable_out(a indexbytable)

    描述:将indexbytable转换为cstring。

    参数:indexbytable

    返回类型:cstring

  • indexbytableint_delete(a indexbytable)

    描述:删除参数indexbytable中的所有元素。

    参数:indexbytable

    返回类型:indexbytable

  • indexbytableint_delete(a indexbytable, index int)

    描述:若给定下标index在indexbytable中,则删除indexbytable中给定下标为index的元素。

    参数:indexbytable、int

    返回类型:indexbytable

  • indexbytableint_delete(a indexbytable, lower int, upper int)

    描述:删除indexbytable中给定下标范围[lower, upper]内的元素。

    参数:indexbytable、int、int

    返回类型:indexbytable

  • indexbytableint_exists(a indexbytable, index int)

    描述:查找参数indexbytable中指定下标index是否存在元素。

    参数:indexbytable、int

    返回类型:indexbytable

  • indexbytableint_first(a indexbytable)

    描述:返回参数indexbytable中第一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable

    返回类型:int

  • indexbytableint_last(a indexbytable)

    描述:返回参数indexbytable中最后一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable

    返回类型:int

  • indexbytableint_next(a indexbytable, index int)

    描述:返回参数indexbytable中指定下标index的后一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable、int

    返回类型:int

  • indexbytableint_prior(a indexbytable, index int)

    描述:返回参数indexbytable中指定下标index的前一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable、int

    返回类型:int

  • indexbytablevarchar_delete(a indexbytable)

    描述:删除参数indexbytable中的所有元素。

    参数:indexbytable

    返回类型:indexbytable

  • indexbytablevarchar_delete(a indexbytable, index varchar)

    描述:若给定下标index在indexbytable中,则删除indexbytable中给定下标为index的元素。

    参数:indexbytable、varchar

    返回类型:indexbytable

  • indexbytablevarchar_delete(a indexbytable, lower varchar, upper varchar)

    描述:删除indexbytable中给定下标范围[lower, upper]内的元素。

    参数:indexbytable、varchar、varchar

    返回类型:indexbytable

  • indexbytablevarchar_exists(a indexbytable, index varchar)

    描述:查找参数indexbytable中指定下标index是否存在元素。

    参数:indexbytable、varchar

    返回类型:indexbytable

  • indexbytablevarchar_first(a indexbytable)

    描述:返回参数indexbytable中第一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable

    返回类型:varchar

  • indexbytablevarchar_last(a indexbytable)

    描述:返回参数indexbytable中最后一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable

    返回类型:varchar

  • indexbytablevarchar_next(a indexbytable, index varchar)

    描述:返回参数indexbytable中指定下标index的后一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable、varchar

    返回类型:varchar

  • indexbytablevarchar_prior(a indexbytable, index varchar)

    描述:返回参数indexbytable中指定下标index的前一个有效元素的下标,若没有则返回NULL。

    参数:indexbytable、varchar

    返回类型:varchar

  • gs_partitioned_temp_fix_filenode()

    描述:用于版本升级过程中,为旧版本创建的分区表和LOCAL索引本身创建物理文件,若创建成功则返回true,若原对象(旧版本创建的分区表和LOCAL索引本身)已存在物理文件,则返回false。该函数仅可以在升级期间由系统管理员执行。

    参数:regclass

    返回值类型:boolean

  • double_backslash(input)

    描述:用于LIKE匹配单个反斜杠字符逻辑中,双写字符串中的反斜杠字符,input可以为text、bpchar、bytea、raw、byteawithoutorderwithequalcol类型。

    参数:text | bpchar | bytea | raw | byteawithoutorderwithequalcol

    返回值类型:与输入参数类型相同。

相关文档