Updated on 2024-08-20 GMT+08:00

Statistics Information Functions

Statistics information functions are divided into the following two categories: functions that access databases, using the OID of each table or index in a database to mark the database for which statistics are generated; functions that access servers, identified by the server thread ID, whose value ranges from 1 to the number of currently active servers.

  • pg_stat_get_db_conflict_tablespace(oid)

    Description: Specifies the number of queries canceled due to a conflict between the restored tablespace and the deleted tablespace in the database.

    Return type: bigint

  • pg_control_group_config()

    Description: Prints Cgroup configurations on the current node. Only users with the SYSADMIN permission can execute this function.

    Return type: record

  • pg_stat_get_db_stat_reset_time(oid)

    Description: Specifies the most recent time when database statistics were reset. It is initialized to the system time during the first connection to each database. The reset time is updated when you call pg_stat_reset on the database and execute pg_stat_reset_single_table_counters against any table or index in it.

    Return type: timestamptz

  • pg_stat_get_function_total_time(oid)

    Description: Specifies the total wall clock time spent in the function, in microseconds. The time spent on this function calling other functions is included.

    Return type: bigint

  • pg_stat_get_xact_tuples_returned(oid)

    Description: Specifies the number of rows read through sequential scans when the parameter is a table in the current transaction or the number of index entries returned when the parameter is an index.

    Return type: bigint

  • pg_stat_get_xact_numscans(oid)

    Description: Specifies the number of sequential scans performed when the parameter is a table in the current transaction or the number of index scans performed when the parameter is an index.

    Return type: bigint

  • pg_stat_get_xact_blocks_fetched(oid)

    Description: Specifies the number of disk block fetch requests for a table or an index in the current transaction.

    Return type: bigint

  • pg_stat_get_xact_blocks_hit(oid)

    Description: Specifies the number of disk block fetch requests for tables or indexes found in cache in the current transaction.

    Return type: bigint

  • pg_stat_get_xact_function_calls(oid)

    Description: Specifies the number of times the function is called in the current transaction.

    Return type: bigint

  • pg_stat_get_xact_function_self_time(oid)

    Description: Specifies the time spent only on this function in the current transaction. The time spent on other function call inside this function is not included.

    Return type: bigint

  • pg_stat_get_xact_function_total_time(oid)

    Description: Specifies the total wall clock time spent on this function in the current transaction, in microseconds. The time spent on other function call inside this function is included.

    Return type: bigint

  • pg_lock_status()

    Description: Queries information about locks held by open transactions. All users can execute this function.

    Return type: For details, see the return result of PG_LOCKS, which is obtained by querying this function.

  • bucket_lock_status()

    Description: Queries information about bucket locks held by open transactions. All users can execute this function.

    Return value type: For details about the returned columns, see the columns except node_name in the GS_BUCKET_LOCKS view.

  • gs_bucket_lock_status()

    Description: Queries information about bucket locks held by open transactions on all nodes. All users can execute this function.

    Return type: For details, see the return result of GS_BUCKET_LOCKS, which is obtained by querying this function.

  • gs_lwlock_status()

    Description: Queries information about all lightweight locks in the database system, including lock waiting and lock holding information. All users can execute this function.

    Return type: setofrecord

  • pg_stat_get_wal_senders()

    Description: Queries WAL sender information on the primary node.

    Return type: setofrecord

    The following table describes return columns.

    Table 1 Return column description

    Column

    Type

    Description

    pid

    bigint

    Thread ID of the WAL sender

    sender_pid

    integer

    Lightweight thread ID of the WAL sender

    local_role

    text

    Type of the primary node

    peer_role

    text

    Type of the standby node

    peer_state

    text

    Status of the standby node

    state

    text

    Status of the WAL sender

    catchup_start

    timestamp with time zone

    Startup time of a catchup task

    catchup_end

    timestamp with time zone

    End time of a catchup task

    sender_sent_location

    text

    Sending position of the primary node

    sender_write_location

    text

    Writing position of the primary node

    sender_flush_location

    text

    Flushing position of the primary node

    sender_replay_location

    text

    Redo position of the primary node

    receiver_received_location

    text

    Receiving position of the standby node

    receiver_write_location

    text

    Writing position of the standby node

    receiver_flush_location

    text

    Flushing position of the standby node

    receiver_replay_location

    text

    Redo position of the standby node

    sync_percent

    text

    Synchronization percentage

    sync_state

    text

    Synchronization status

    sync_group

    text

    Group to which the synchronous replication belongs

    sync_priority

    text

    Priority of synchronous replication

    sync_most_available

    text

    Maximum availability mode

    channel

    text

    Channel information of the WAL sender

  • pgxc_get_senders_catchup_time()

    Description: Queries whether a standby DN in the log catchup state exists in the CN instance query cluster and details about the log catchup state.

    Return type: setofrecord

  • pg_stat_get_stream_replications()

    Description: Queries the primary/standby replication status.

    Return type: setofrecord

    The following table describes return values.

    Table 2 Return value description

    Return Parameter

    Type

    Description

    local_role

    text

    Local role

    static_connections

    integer

    Connection statistics

    db_state

    text

    Database status

    detail_information

    text

    Detailed information

  • pg_stat_get_db_numbackends(oid)

    Description: Specifies the number of active server threads for a database.

    Return type: integer.

  • pg_stat_get_db_xact_commit(oid)

    Description: Specifies the number of transactions committed in a database.

    Return type: bigint

  • pg_stat_get_db_xact_rollback(oid)

    Description: Specifies the number of transactions rolled back in a database.

    Return type: bigint

  • pg_stat_get_db_blocks_fetched(oid)

    Description: Specifies the number of disk blocks fetch requests for a database.

    Return type: bigint

  • pg_stat_get_db_blocks_hit(oid)

    Description: Specifies the number of disk block fetch requests found in cache for a database.

    Return type: bigint

  • pg_stat_get_db_tuples_returned(oid)

    Description: Specifies the number of tuples returned for a database.

    Return type: bigint

  • pg_stat_get_db_tuples_fetched(oid)

    Description: Specifies the number of tuples fetched for a database.

    Return type: bigint

  • pg_stat_get_db_tuples_inserted(oid)

    Description: Specifies the number of tuples inserted in a database.

    Return type: bigint

  • pg_stat_get_db_tuples_updated(oid)

    Description: Specifies the number of tuples updated in a database.

    Return type: bigint

  • pg_stat_get_db_tuples_deleted(oid)

    Description: Specifies the number of tuples deleted in a database.

    Return type: bigint

  • pg_stat_get_db_conflict_lock(oid)

    Description: Specifies the number of lock conflicts in a database.

    Return type: bigint

  • pg_stat_get_db_deadlocks(oid)

    Description: Specifies the number of deadlocks in a database.

    Return type: bigint

  • pg_stat_get_numscans(oid)

    Description: Number of sequential row scans done if parameters are in a table, or the number of index rows if parameters are in an index.

    Return type: bigint

  • pg_stat_get_role_name(oid)

    Description: Obtains the username based on the user OID. Only users with the SYSADMIN and MONADMIN permissions can access the information.

    Return type: text.

    Example:

    gaussdb=# SELECT pg_stat_get_role_name(10);
     pg_stat_get_role_name
    -----------------------
     aabbcc
    (1 row)
  • pg_stat_get_tuples_returned(oid)

    Description: Specifies the number of sequential rows read by sequential scans if parameters are in a table, or the number of index rows if parameters are in an index.

    Return type: bigint

  • pg_stat_get_tuples_fetched(oid)

    Description: Specifies the number of table rows fetched by bitmap scans if parameters are in a table, or the number of table rows fetched by simple index scans in the original table if parameters are in an index.

    Return type: bigint

  • pg_stat_get_tuples_inserted(oid)

    Description: Specifies the number of rows inserted into a table.

    Return type: bigint

  • pg_stat_get_tuples_updated(oid)

    Description: Specifies the number of rows updated in a table.

    Return type: bigint

  • pg_stat_get_tuples_deleted(oid)

    Description: Specifies the number of rows deleted from a table.

    Return type: bigint

  • pg_stat_get_tuples_changed(oid)

    Description: Specifies the total number of inserted, updated, and deleted rows after a table was last analyzed or autoanalyzed.

    Return type: bigint

  • pg_stat_get_tuples_hot_updated(oid)

    Description: Specifies the number of rows hot updated in a table.

    Return type: bigint

  • pg_stat_get_live_tuples(oid)

    Description: Specifies the number of live rows in a table.

    Return type: bigint

  • pg_stat_get_dead_tuples(oid)

    Description: Specifies the number of dead rows in a table.

    Return type: bigint

  • pg_stat_get_blocks_fetched(oid)

    Description: Specifies the number of disk block fetch requests for a table or an index.

    Return type: bigint

  • pg_stat_get_blocks_hit(oid)

    Description: Specifies the number of disk block requests found in cache for a table or an index.

    Return type: bigint

  • pg_stat_get_xact_tuples_fetched(oid)

    Description: Specifies the number of tuple rows scanned in a transaction.

    Return type: bigint

  • pg_stat_get_xact_tuples_inserted(oid)

    Description: Specifies the number of tuple inserted into the active subtransactions related to a table.

    Return type: bigint

  • pg_stat_get_xact_tuples_deleted(oid)

    Description: Specifies the number of deleted tuples in the active subtransactions related to a table.

    Return type: bigint

  • pg_stat_get_xact_tuples_hot_updated(oid)

    Description: Specifies the number of hot updated tuples in the active subtransactions related to a table.

    Return type: bigint

  • pg_stat_get_xact_tuples_updated(oid)

    Description: Specifies the number of updated tuples in the active subtransactions related to a table.

    Return type: bigint

  • pg_stat_get_last_vacuum_time(oid)

    Description: Specifies the most recent time when the autovacuum thread is manually started to clear a table.

    Return type: timestamptz

  • pg_stat_get_last_autovacuum_time(oid)

    Description: Specifies the time of the last vacuum initiated by the autovacuum daemon thread on a table.

    Return type: timestamptz

  • pg_stat_get_vacuum_count(oid)

    Description: Specifies the number of times a table is manually cleared.

    Return type: bigint

  • pg_stat_get_autovacuum_count(oid)

    Description: Specifies the number of times the autovacuum daemon thread is started to clear a table.

    Return type: bigint

  • pg_stat_get_last_analyze_time(oid)

    Description: Specifies the last time when a table starts to be analyzed manually or by the autovacuum thread.

    Return type: timestamptz

  • pg_stat_get_last_autoanalyze_time(oid)

    Description: Specifies the time when the last analysis initiated by the autovacuum daemon thread on a table.

    Return type: timestamptz

  • pg_stat_get_analyze_count(oid)

    Description: Specifies the number of times a table is manually analyzed.

    Return type: bigint

  • pg_stat_get_autoanalyze_count(oid)

    Description: Specifies the number of times the autovacuum daemon thread analyzes a table.

    Return type: bigint

  • pg_total_autovac_tuples(bool)

    Description: Returns tuple records related to the total autovac, such as nodename, nspname, relname, and tuple IUDs. The input parameter specifies whether to query the relation information.

    Return type: setofrecord

    The following table describes return parameters.

    Table 3 Return parameter description

    Return Parameter

    Type

    Description

    nodename

    name

    Node name.

    nspname

    name

    Name of a namespace

    relname

    name

    Name of an object, such as a table, an index, or a view

    partname

    name

    Partition name

    n_dead_tuples

    bigint

    Number of dead rows in a table partition

    n_live_tuples

    bigint

    Number of live rows in a table partition

    changes_since_analyze

    bigint

    Number of changes generated by ANALYZE

  • pg_total_gsi_autovac_tuples(bool)

    Description: Returns tuple records related to total autovac, such as nodename, nspname, relname, and number of GSI records that have changed since the last ANALYZE. The input parameter specifies whether to query relation information. This function assists AUTOVACUUM on GSIs. You are advised not to use this function.

    Return type: setofrecord

  • pg_autovac_status(oid)

    Description: Returns autovac information, such as nodename, nspname, relname, analyze, vacuum, thresholds for the ANALYZE and VACUUM operations, and the number of analyzed or vacuumed tuples. Only users with the SYSADMIN permission can use this function.

    Return type: setofrecord

    The following table describes return parameters.

    Table 4 Return parameter description

    Return Parameter

    Type

    Description

    nspname

    text

    Name of a namespace.

    relname

    text

    Name of an object, such as a table, an index, or a view.

    nodename

    text

    Node name.

    doanalyze

    Boolean

    Specifies whether to execute ANALYZE.

    anltuples

    bigint

    Number of ANALYZE tuples.

    anlthresh

    bigint

    ANALYZE threshold.

    dovacuum

    Boolean

    Specifies whether to execute VACUUM.

    vactuples

    bigint

    Number of VACUUM tuples.

    vacthresh

    bigint

    VACUUM threshold.

  • pg_autovac_timeout(oid)

    Description: Returns the number of consecutive timeouts during the autovac operation on a table. If the table information is invalid or the node information is abnormal, NULL will be returned.

    Return type: bigint

  • pg_autovac_coordinator(oid)

    Description: Returns the name of the CN performing the autovac operation on a table. If the table information is invalid or the node information is abnormal, NULL is returned.

    Return type: text.

  • pg_stat_get_last_data_changed_time(oid)

    Description: Returns the time when INSERT, UPDATE, DELETE, or TRUNCATE was last performed on a table, or the time when EXCHANGE, TRUNCATE, or DROP was last performed on a partition or subpartition. The data in the last_data_changed column of the PG_STAT_ALL_TABLES view is calculated by using this function. The performance of obtaining the last modification time by using the view is poor when the table has a large amount of data. In this case, you are advised to use functions. The input parameter is a table OID.

    Return type: timestamptz

  • pg_stat_set_last_data_changed_time(oid)

    Description: Manually changes the time when INSERT, UPDATE, DELETE, or EXCHANGE/TRUNCATE/DROP PARTITION was last performed.

    Return type: void

  • pg_stat_get_last_updated(oid, text)

    Description: Returns the update time of monitoring indicator fields in each table in the DBE_PERF.stat_all_tables, DBE_PERF.stat_all_indexes, DBE_PERF.statio_all_indexes, and DBE_PERF.statio_all_tables views. The input parameter 1 is the table OID, and the input parameter 2 is of the text type. The value can be "stat_table", "stat_index", or "stat_io".

    Return type: timestamptz

  • pg_backend_pid()

    Description: Specifies the thread ID of the server thread attached to the current session.

    Return type: integer.

  • pg_stat_get_activity(integer)

    Description: Returns a record about the backend thread with the specified PID. A record for each active backend in the system is returned if NULL is specified. The returned result does not contain the connection_info column. The initial user, system administrators and users with the MONADMIN permission can view all data. Common users can only query their own results.

    Example:

    gaussdb=# SELECT * FROM pg_stat_get_activity(139881386280704);
     datid |       pid       | sessionid | usesysid | application_name | state  |                        query                         | waiting |          xact_start           |          query_start          |
        backend_start         |         state_change         | client_addr | client_hostname | client_port | enqueue |     query_id      |   srespool   | global_sessionid | unique_sql_id | trace_id
    -------+-----------------+-----------+----------+------------------+--------+------------------------------------------------------+---------+-------------------------------+-------------------------------+-----
    --------------------------+------------------------------+-------------+-----------------+-------------+---------+-------------------+--------------+------------------+---------------+----------
     16545 | 139881386280704 |        69 |       10 | gsql             | active | select * from pg_stat_get_activity(139881386280704); | f       | 2022-01-18 19:43:05.167718+08 | 2022-01-18 19:43:05.167718+08 | 2022
    -01-18 19:42:33.513507+08 | 2022-01-18 19:43:05.16773+08 |             |                 |          -1 |         | 72620543991624410 | default_pool | 1938253334#69#0  |    3751941862 |
    (1 row)

    Return type: setofrecord

    The following table describes return parameters.

    Table 5 Return parameter description

    Return Parameter

    Type

    Description

    datid

    oid

    OID of the database that the user session connects to in the backend

    pid

    bigint

    Backend thread ID.

    sessionid

    bigint

    Session ID

    usesysid

    oid

    OID of the user logged in to the backend.

    application_name

    text

    Name of the application connected to the backend

    state

    text

    Overall status of the backend

    query

    text

    Latest query at the backend. If state is active, this column shows the ongoing query. In all other states, it shows the last query that was executed.

    waiting

    Boolean

    Specifies whether the backend is currently waiting on a lock. If the backend is currently waiting, the value is true.

    xact_start

    timestamp with time zone

    Time when current transaction was started (null if no transaction is active).

    If the current query is the first of its transaction, the value of this column is the same as that of the query_start column.

    query_start

    timestamp with time zone

    Time when the currently active query was started, or time when the last query was started if state is not active For a stored procedure, function, or package, the first query time is queried and does not change with the running of statements in the stored procedure.

    backend_start

    timestamp with time zone

    Time when this process was started, that is, when the client connected to the server

    state_change

    timestamp with time zone

    Time when state was last modified

    client_addr

    inet

    IP address of the client connected to the backend. If this column is NULL, it indicates either the client is connected via a Unix socket on the server or this is an internal thread, such as AUTOVACUUM.

    client_hostname

    text

    Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This column will be non-null only for IP connections and only when log_hostname is enabled.

    client_port

    integer

    TCP port number that the client uses for communication with this backend (–1 if a Unix socket is used)

    enqueue

    text

    Unsupported currently

    query_id

    bigint

    ID of a query

    srespool

    name

    Name of the resource pool

    global_sessionid

    text

    Global session ID

    unique_sql_id

    bigint

    Unique SQL statement ID

    trace_id

    text

    Driver-specific trace ID, which is associated with an application request

  • pg_stat_get_activity_with_conninfo(integer)

    Description: Returns a record about the backend thread with the specified PID. A record for each active backend in the system is returned if NULL is specified. The initial user, system administrators and users with the MONADMIN permission can view all data. Common users can only query their own results.

    Return type: setofrecord

    The following table describes return values.

    Return Parameter

    Return Type

    Return value description

    datid

    oid

    OID of the database that the user session connects to in the backend

    pid

    bigint

    Backend thread ID.

    sessionid

    bigint

    Session ID

    usesysid

    oid

    OID of the user logged in to the backend.

    application_name

    text

    Name of the application connected to the backend

    state

    text

    Overall status of the backend

    query

    text

    Latest query at the backend. If state is active, this column shows the ongoing query. In all other states, it shows the last query that was executed.

    waiting

    Boolean

    Specifies whether the backend is currently waiting on a lock. If the backend is currently waiting, the value is true.

    xact_start

    timestamp with time zone

    Time when current transaction was started (null if no transaction is active). If the current query is the first of its transaction, the value of this column is the same as that of the query_start column.

    query_start

    timestamp with time zone

    Time when the currently active query was started, or time when the last query was started if state is not active For a stored procedure, function, or package, the first query time is queried and does not change with the running of statements in the stored procedure.

    backend_start

    timestamp with time zone

    Time when this process was started, that is, when the client connected to the server

    state_change

    timestamp with time zone

    Time when state was last modified

    client_addr

    inet

    IP address of the client connected to the backend. If this column is NULL, it indicates either the client is connected via a Unix socket on the server or this is an internal thread, such as AUTOVACUUM.

    client_hostname

    text

    Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This column will be non-null only for IP connections and only when log_hostname is enabled.

    client_port

    integer

    TCP port number that the client uses for communication with this backend (–1 if a Unix socket is used)

    enqueue

    text

    This field is not currently supported.

    query_id

    bigint

    ID of a query

    connection_info

    text

    A string in JSON format recording the driver type, driver version, driver deployment path, and thread owner of the connected database.

    srespool

    name

    Name of the resource pool

    global_sessionid

    text

    Global session ID

    unique_sql_id

    bigint

    Unique SQL statement ID

    trace_id

    text

    Driver-specific trace ID, which is associated with an application request

    top_xid

    xid

    Top-level transaction ID of a transaction.

    current_xid

    xid

    Current transaction ID of a transaction.

    xlog_quantity

    bigint

    Amount of Xlogs currently used by a transaction, in bytes.

  • gs_get_explain(integer)

    Description: Returns a running plan for the background thread with the specified PID. The PID cannot be empty. This function takes effect only when the GUC parameter track_activities is set to on. Only explainable SQL statements whose plans do not contain stream operators are supported. Details are as follows:

    • If the GUC parameter plan_collect_thresh is set to –1, the return result of the function is always empty.
    • If plan_collect_thresh is set to 0, the current SQL execution time is greater than or equal to the value of log_min_duration_statement, and the total number of tuples processed by all operators in the plan is greater than or equal to 10000, the system starts to collect plans in running state. Each time the total number of tuples processed by all operators exceeds 10000, a collection is performed.
    • If plan_collect_thresh is set to a value greater than 0, running plans are collected incrementally based on the threshold specified by this parameter.
    • In addition, this function can view only the plans generated on CNs. To view the plans generated on DNs, see the gs_get_dn_explain function.

    The return value type is text. The types and meanings of the fields are as follows:

    Return Value

    Return Type

    Return value description

    Character string of the plans in the running state

    text

    A-rows in the plan string indicates the number of rows returned by the operator in real time.

  • gs_get_dn_explain(text, bigint)

    Description: Returns a running plan for the background thread of the DN with the specified node name (from the node_name field in the pgxc_node system catalog) and global session ID. The global session ID cannot be empty. This function takes effect only when the GUC parameter track_activities is set to on. Only explainable SQL statements whose plans do not contain stream operators are supported. Details are as follows:

    • Same as the gs_get_explain function. The global session ID is calculated based on the global_sessionid field in pg_stat_activity. The format of global_sessionid is ${number1}:${number2}#{number3}, for example, 1938253334:1#0. Therefore, the parameter value of the gs_get_dn_explain function is ${number2} x 10000000000 + ${number1}.
    • In addition, this function can be executed only with the ADMIN or MONADMIN permission.
    The return value type is text. The types and meanings of the fields are as follows:

    Return Value

    Return Type

    Return value description

    Character string of the plans in the running state

    text

    A-rows in the plan string indicates the number of rows returned by the operator in real time.

  • pg_stat_get_activity_ng(integer)

    Description: Returns a record about the active background thread with the specified PID. A record for each active background thread is returned if NULL is specified. System administrators and users with the MONADMIN permission can view all data. Common users can query only their own data.

    Return type: setofrecord

    The following table describes return fields.

    Name

    Type

    Description

    datid

    oid

    Database OID

    pid

    bigint

    Backend thread ID

    sessionid

    bigint

    Session ID

  • pg_stat_get_function_calls(oid)

    Description: Specifies the number of times the function has been called.

    Return type: bigint

  • pg_stat_get_function_self_time(oid)

    Description: Specifies the time spent on only this function. The time spent on nested functions to call other functions is excluded.

    Return type: bigint

  • pg_stat_get_backend_idset()

    Description: Sets the number of currently active server threads (from 1 to the number of active server threads).

    Return type: setofinteger

  • pg_stat_get_backend_pid(integer)

    Description: Specifies the ID of the given server thread.

    Return type: bigint

  • pg_stat_get_backend_dbid(integer)

    Description: Specifies the ID of the database connected to the given server thread.

    Return type: oid

  • pg_stat_get_backend_userid(integer)

    Description: Specifies the user ID of the given server process. This function can be called only by the system administrator.

    Return type: oid

  • pg_stat_get_backend_activity(integer)

    Description: Active command of the given server thread, but only if the current user is a system administrator or the same user as that of the session being queried and track_activities is enabled.

    Return type: text.

  • pg_stat_get_backend_waiting(integer)

    Description: Returns true if the given server thread is waiting for a lock, but only if the current user is a system administrator or the same user as that of the session being queried and track_activities is enabled.

    Return type: Boolean.

  • pg_stat_get_backend_activity_start(integer)

    Description: Specifies the time when the given server thread's currently executing query is started only if the current user is the system administrator or the user of the session being queried and track_activities is enabled.

    Return type: timestamp with time zone

  • pg_stat_get_backend_xact_start(integer)

    Description: Specifies the time when the given server thread's currently executing transaction is started only if the current user is the system administrator or the user of the session being queried and track_activities is enabled.

    Return type: timestamp with time zone

  • pg_stat_get_backend_start(integer)

    Description: Specifies the time when the given server thread is started. If the current user is neither a system administrator nor the same user as that of the session being queried, NULL is returned.

    Return type: timestamp with time zone

  • pg_stat_get_backend_client_addr(integer)

    Description: Specifies the IP address of the client connected to the given server process. If the connection is over a UDS, or if the current user is neither a system administrator nor the same user as that of the session being queried, NULL will be returned.

    Return type: inet

  • pg_stat_get_backend_client_port(integer)

    Description: Specifies the TCP port number of the client connected to the given server process. If the connection is over a UDS, -1 will be returned. If the current user is neither a system administrator nor the same user as that of the session being queried, NULL will be returned.

    Return type: integer.

  • pg_stat_get_bgwriter_timed_checkpoints()

    Description: Specifies the time when the background writer thread starts scheduled checkpoints (because checkpoint_timeout has expired).

    Return type: bigint

  • pg_stat_get_bgwriter_requested_checkpoints()

    Description: Specifies the time when the background writer thread starts checkpoints based on requests from the backend because checkpoint_segments has been exceeded or the CHECKPOINT command has been executed.

    Return type: bigint

  • pg_stat_get_bgwriter_buf_written_checkpoints()

    Description: Specifies the number of buffers written by the background writer thread during checkpoints.

    Return type: bigint

  • pg_stat_get_bgwriter_buf_written_clean()

    Description: Specifies the number of buffers written by the background writer thread for routine cleaning of dirty pages.

    Return type: bigint

  • pg_stat_get_bgwriter_maxwritten_clean()

    Description: Specifies the time when the background writer thread stops its cleaning scan because it has written more buffers than specified in the bgwriter_lru_maxpages parameter.

    Return type: bigint

  • pg_stat_get_buf_written_backend()

    Description: Specifies the number of buffers written by the backend thread because they need to allocate a new buffer.

    Return type: bigint

  • pg_stat_get_buf_alloc()

    Description: Specifies the total number of the allocated buffers.

    Return type: bigint

  • pg_stat_clear_snapshot()

    Description: Discards the current statistics snapshot. Only users with the SYSADMIN or MONADMIN permission can execute this function.

    Return type: void

  • pg_stat_reset()

    Description: Resets all statistics counters for the current database to zero (requires system administrator permissions).

    Return type: void

  • gs_stat_reset()

    Description: Resets all statistics counters for the current database on each node to zero (requiring system administrator permissions).

    Return type: void

  • pg_stat_reset_shared(text)

    Description: Resets all statistics counters for the current database in each node in a shared cluster to zero (requires system administrator permissions).

    Return type: void

  • pg_stat_reset_single_table_counters(oid)

    Description: Resets statistics for a single table or index in the current database to zero (requires system administrator permissions).

    Return type: void

  • pg_stat_reset_single_function_counters(oid)

    Description: Resets statistics for a single function in the current database to zero (requires system administrator permissions).

    Return type: void

  • pgxc_fenced_udf_process(integer)

    Description: Displays the number of UDF master and worker threads. Only users with the SYSADMIN or MONADMIN permission can execute this function. If the input parameter is set to 1, the number of Master threads is queried. If the input parameter is set to 2, the number of Worker threads is queried. If the input parameter is set to 3, all Worker threads are terminated.

    Return type: text.

  • fenced_udf_process(integer)

    Description: Displays the number of local UDF master and work threads. If the input parameter is set to 1, the number of master threads is queried. if the input parameter is set to 2, the number of worker threads is queried. if the input parameter is set to 3, all worker threads are terminated.

    Return type: text.

  • total_cpu()

    Description: Obtains the CPU time used by the current node, in jiffies.

    Return type: bigint

  • total_memory()

    Description: Obtains the size of the virtual memory used by the current node, in KB.

    Return type: bigint

  • pgxc_terminate_all_fenced_udf_process()

    Description: Kills all UDF worker threads. Only users with the SYSADMIN or MONADMIN permission can execute this function.

    Return type: Boolean

  • gs_get_nodegroup_tablecount(name)

    Description: Obtains the total number of user tables in all databases in a node group.

    Return type: integer.

  • gs_check_tables_distribution()

    Description: Checks whether the user table distribution in the system is consistent. If no record is returned, table distribution is consistent. This function cannot be called during redistribution in scale-in or scale-out.

    Return type: record

  • pg_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)

    Description: Obtains damage information about pages after the current node is started.

    Return type: record

  • pgxc_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)

    Description: Obtains damage information about pages after all nodes in the cluster are started.

    Return type: record

  • pg_stat_bad_block_clear()

    Description: Deletes the page damage information that is read and recorded on the node (requires system administrator permissions).

    Return type: void

  • pgxc_stat_bad_block_clear

    Description: Deletes the page damage information that is read and recorded on all nodes in the cluster (requiring system administrator permissions).

    Return type: void

  • pgxc_log_comm_status(void)

    Description: When the SCTP communication mode is used, the PGXC system view exports the communication layer status of DNs to each log file. (Due to specification changes, the current version no longer supports this feature. Do not use it.)

    Return type: void

  • gs_respool_exception_info(pool text)

    Description: Queries the query rule of a specified resource pool.

    Return type: record

  • gs_control_group_info(pool text)

    Description: Queries information about Cgroups associated with a resource pool. Only users with the SYSADMIN permission can execute this function.

    Return type: record

    The command output is as follows:

    Attribute

    Value

    Description

    name

    class_a:workload_a1

    Class name and workload name

    class

    class_a

    Class Cgroup name

    workload

    workload_a1

    Workload Cgroup name

    type

    DEFWD

    Cgroup type (Top, CLASS, BAKWD, DEFWD, or TSWD)

    gid

    87

    Cgroup ID

    shares

    30

    Percentage of CPU resources to those on the parent node

    limits

    0

    Percentage of CPU cores to those on the parent node

    rate

    0

    Allocation ratio in Timeshare

    cpucores

    0-3

    Number of CPU cores

  • gs_all_control_group_info()

    Description: Collects information about all Cgroups in the database. For details about the columns returned by the function, see 16.3.48 GS_ALL_CONTROL_GROUP_INFO.

    Return type: record

  • gs_get_control_group_info()

    Description: Collects information about all Cgroups. For details about the columns returned by the function, see 16.3.53 GS_GET_CONTROL_GROUP_INFO. Only users with the SYSADMIN permission can execute this function.

    Return type: record

  • get_instr_workload_info(integer)

    Description: Obtains the transaction volume and time information on the current CN.

    Return type: record

    Attribute

    Value

    Description

    user_oid

    10

    User ID

    commit_counter

    4

    Number of frontend transactions that were committed

    rollback_counter

    1

    Number of frontend transactions that were rolled back

    resp_min

    949

    Minimum response time of frontend transactions (unit: μs)

    resp_max

    201891

    Maximum response time of frontend transactions (unit: μs)

    resp_avg

    43564

    Average response time of frontend transactions (unit: μs)

    resp_total

    217822

    Total response time of frontend transactions (unit: μs)

    bg_commit_counter

    910

    Number of background transactions that were committed

    bg_rollback_counter

    0

    Number of background transactions that were rolled back

    bg_resp_min

    97

    Minimum response time of background transactions (unit: μs)

    bg_resp_max

    678080687

    Maximum response time of background transactions (unit: μs)

    bg_resp_avg

    327847884

    Average response time of background transactions (unit: μs)

    bg_resp_total

    298341575300

    Total response time of background transactions (unit: μs)

  • pv_instance_time()

    Description: Obtains the time consumed in each execution phase on the current node.

    Return type: record

    Stat_name Attribute

    Value

    Description

    DB_TIME

    1062385

    Total end-to-end wall time consumed by all threads (unit: μs)

    CPU_TIME

    311777

    Total CPU time consumed by all threads (unit: μs)

    EXECUTION_TIME

    380037

    Total time consumed on the executor (unit: μs)

    PARSE_TIME

    6033

    Total time consumed for parsing SQL statements (unit: μs)

    PLAN_TIME

    173356

    Total time consumed for generating an execution plan (unit: μs)

    REWRITE_TIME

    2274

    Total time consumed for rewriting queries (unit: μs)

    PL_EXECUTION_TIME

    0

    Total time consumed for executing PL/pgSQL statements (unit: μs)

    PL_COMPILATION_TIME

    557

    Total time consumed for compiling SQL statements (unit: μs)

    NET_SEND_TIME

    1673

    Total time consumed for sending data over the network (unit: μs)

    DATA_IO_TIME

    426622

    Total time consumed for reading and writing data (unit: μs)

  • DBE_PERF.get_global_instance_time()

    Description: Provides the time consumed in each key phase in the entire cluster. The time consumed can be queried only on the CN. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record

  • get_instr_unique_sql()

    Description: Obtains information about execution statements (normalized SQL statements) on the current node. Only users with the SYSADMIN or MONADMIN permission can query this function.

    Return type: record

  • get_instr_wait_event(integer)

    Description: Obtains the statistics on wait events of the current node.

    Return type: record

  • get_instr_user_login()

    Description: Obtains the number of user login and logout times on the current node. Only users with the SYSADMIN or MONADMIN permission can execute this function.

    Return type: record

  • get_instr_rt_percentile(integer)

    Description: Obtains the response time distribution for 80% and 95% SQL statements in the CCN. The unified cluster information is stored on the CCN. The query result from other nodes is 0.

    Return type: record

  • get_node_stat_reset_time()

    Description: Obtains statistics about reset (restart, primary/standby switchover, and database deletion) time of the current node.

    Return type: record

  • gs_paxos_stat_replication()

    Description: Queries the standby node information on the primary node.

    Return type: setofrecord

    The following table describes return columns.

    Column

    Type

    Description

    local_role

    text

    Role of the node that sends logs

    peer_role

    text

    Role of the receiver node

    local_dcf_role

    text

    DCF role of the node that sends logs

    peer_dcf_role

    text

    DCF role of the receiver node

    peer_state

    text

    Status of the receiver node

    sender_write_location

    text

    Location in the Xlog buffer where the node that sends logs is written

    sender_commit_location

    text

    Consistency point reached for the DCF logs of the node that sends logs

    sender_flush_location

    text

    Location in the Xlog disk where the node that sends logs is written

    sender_replay_location

    text

    Location where the sender node replays logs

    receiver_write_location

    text

    Location in the Xlog buffer where the receiver node is written

    receiver_commit_location

    text

    Consistency point reached for the DCF logs of the receiver node

    receiver_flush_location

    text

    Location in the Xlog disk where the receiver node is written

    receiver_replay_location

    text

    Location where the receiver node replays Xlogs

    sync_percent

    text

    Synchronization percentage

    dcf_run_mode

    int4

    DCF synchronization mode

    channel

    text

    Channel information

  • get_paxos_replication_info()

    Description: Queries the primary/standby replication status in Paxos mode.

    Return type: setofrecord

    The following table describes return columns.

    Column

    Type

    Description

    paxos_write_location

    text

    Location of the Xlog that has been written to the Distribute Consensus Framework (DCF)

    paxos_commit_location

    text

    Location of the Xlog agreed in the DCF

    local_write_location

    text

    Writing position of a node

    local_flush_location

    text

    Flushing position of a node

    local_replay_location

    text

    Redo position of a node

    dcf_replication_info

    text

    DCF module information of a node

  • gs_wlm_get_user_info(int)

    Description: Obtains information about all users. The input parameter is of the int type and can be any int value or NULL. Only users with the SYSADMIN permission can execute this function.

    Return type: record

  • gs_wlm_readjust_user_space(oid)

    Description: Corrects the storage space usage of all users. Only the administrator can execute this function.

    Return type: record

  • gs_wlm_readjust_user_space_through_username(text name)

    Description: Corrects the storage space usage of a specified user. Common users can use this function to modify only their own usage. Only the administrator can modify the usage of all users. If the value of name is 0000, the usage of all users needs to be modified.

    Return type: record

  • gs_wlm_readjust_user_space_with_reset_flag(text name, boolean isfirst)

    Description: Corrects the storage space usage of a specified user. If the input parameter isfirst is set to true, statistics are collected from 0. Otherwise, statistics are collected from the previous result. Common users can use this function to modify only their own usage. Only the administrator can modify the usage of all users. If the value of name is 0000, the usage of all users needs to be modified.

    Return type: record

  • gs_io_wait_status()

    Description: Returns the real-time statistics on I/O control on the current node.

    Return type: setof record

    Name

    Type

    Description

    node_name

    text

    Node name

    device_name

    text

    Name of the data disk mounted to the node.

    read_per_second

    float

    Number of read completions per second.

    write_per_second

    float

    Number of write completions per second.

    write_ratio

    float

    Ratio of the disk write I/Os to the total I/Os.

    io_util

    float

    Percentage of the I/O time to the total CPU time per second.

    total_io_util

    integer

    Level of the CPU time occupied by the last three I/Os. The value ranges from 0 to 6.

    tick_count

    integer

    Interval for updating disk I/O information. The value is fixed to 1 second. The value is cleared each time before data is read.

    io_wait_list_len

    integer

    Size of the I/O request thread wait queue. If the value is 0, no I/O is under control.

  • gs_get_shared_memctx_detail(text)

    Description: Returns the memory application details of the specified memory context, including the file, line number, and size of each memory application (the size of the same line in the same file is accumulated). Only the memory context queried through the pg_shared_memory_detail view can be queried. The input parameter is the memory context name (that is, the contextname column in the result returned by the pg_shared_memory_detail view). To query this function, you must have the SYSADMIN or MONADMIN permission.

    Return type: setof record

    Name

    Type

    Description

    file

    text

    Name of the file where the memory is applied for.

    line

    int8

    Line number of the code in the file where the requested memory is located.

    size

    int8

    Size of the allocated memory. The value is accumulated if the memory is allocated for multiple times to the same line in the same file.

    This view is not supported in the Lite release version.

  • gs_get_session_memctx_detail(text)

    Description: Returns the memory application details of the specified memory context, including the file, line number, and size of each memory application (the size of the same line in the same file is accumulated). This parameter is valid only in thread pool mode. Only the memory context queried through the pv_session_memory_context view can be queried. The input parameter is the memory context name (that is, the contextname column in the result returned by the pv_session_memory_context view). To query this function, you must have the SYSADMIN or MONADMIN permission.

    Return type: setof record

    Name

    Type

    Description

    file

    text

    Name of the file where the memory is applied for.

    line

    int8

    Line number of the code in the file where the requested memory is located.

    size

    int8

    Size of the allocated memory, in bytes. The value is accumulated if the memory is allocated for multiple times to the same line of the same file.

    This view takes effect only in thread pool mode and is not supported in the Lite release version.

  • gs_get_thread_memctx_detail(tid,text)

    Description: Returns the memory application details of the specified memory context, including the file, line number, and size of each memory application (the size of the same line in the same file is accumulated). Only the memory context queried through the pv_thread_memory_context view can be queried. The first input parameter is the thread ID (the tid column of the data returned by pv_thread_memory_context), and the second parameter is the memory context name (the contextname column of the data returned by pv_thread_memory_context). To query this function, you must have the SYSADMIN or MONADMIN permission.

    Return type: setof record

    Name

    Type

    Description

    file

    text

    Name of the file where the memory is applied for.

    line

    int8

    Line number of the code in the file where the requested memory is located.

    size

    int8

    Size of the allocated memory, in bytes. The value is accumulated if the memory is allocated for multiple times to the same line of the same file.

    This view is not supported in the Lite release version.

  • gs_get_history_memory_detail(cstring)

    Description: Queries historical memory snapshot information. The input parameter type is cstring. The value can be NULL or the name of the memory snapshot log file.

    1. If the value of the input parameter is NULL, the list of all memory snapshot log files on the current node is displayed.
    2. If the value of the input parameter is the name of the memory snapshot log file in the list queried in 1, the detailed information about the memory snapshot recorded in the log file is displayed.
    3. If you enter any other input parameter, the system displays a message indicating that the input parameter is incorrect or the file fails to be opened.

    To query this function, you must have the SYSADMIN or MONADMIN permission.

    Return type: text.

    Name

    Type

    Description

    memory_info

    text

    Memory information. If the input parameter of the function is set to NULL, the memory snapshot file list is displayed. If the input parameter is set to the name of the memory snapshot file, the content of the file is displayed.

  • gs_stat_get_hotkeys_info()

    If the GUC parameter enable_hotkeys_collection is set to off, the gs_stat_get_hotkeys_info and global_stat_get_hotkeys_info functions as well as the global_stat_hotkeys_info view cannot be queried. The use of the gs_stat_clean_hotkeys and global_stat_clean_hotkeys APIs is not affected.

    Description: Obtains the hotspot key statistics on the current node.

    Return type: record

    1
    2
    3
    4
    5
    6
    gaussdb=# SELECT * FROM gs_stat_get_hotkeys_info() order by count, hash_value;
     database_name | schema_name |    table_name     | key_value | hash_value | count
    ---------------+-------------+-------------------+-----------+------------+-------
     regression    | public      | hotkey_single_col | {22}      | 1858004829 |     2
     regression    | public      | hotkey_single_col | {11}      | 2011968649 |     2
    (2 rows)
    

    Name

    Type

    Description

    database_name

    text

    Name of the database where the hotspot key is located

    schema_name

    text

    Name of the schema where the hotspot key is located

    table_name

    text

    Name of the table where the hotspot key is located

    key_value

    text

    Value of the hotspot key

    hash_value

    bigint

    Hash value of the hotspot key in the database. If the table is a list or range distributed table, the value of this column is 0.

    count

    bigint

    Frequency of accessing the hotspot key

  • gs_stat_clean_hotkeys()
    • Hot key detection is designed for high-concurrency and heavy-traffic scenarios. In the scenario where the access is performed for several times, the query result may be inaccurate.
    • The clearing API is designed to clear only the statistics in the LRU queue but not the historical data in the FIFO. Therefore, if the historical key value in the FIFO is accessed again after the clearing, the historical key value is still processed as a hotspot key. This rule also applies to global_stat_clean_hotkeys.

    Description: Clears statistics on hotspot keys on the current node.

    Return type: Boolean

    1
    2
    3
    4
    5
    gaussdb=# SELECT * FROM gs_stat_clean_hotkeys();
     gs_stat_clean_hotkeys
    -----------------------
     t
    (1 row)
    
  • global_stat_get_hotkeys_info()

    Run the select * from global_stat_hotkeys_info minus select * from global_stat_get_hotkeys_info() command during service execution. The value may not be 0 due to time difference.

    Description: Obtains statistics on hotspot keys in the entire cluster.

    Return type: record

    1
    2
    3
    4
    5
    6
    gaussdb=# SELECT * FROM global_stat_get_hotkeys_info() order by count, hash_value;
     database_name | schema_name |    table_name     | key_value | hash_value | count
    ---------------+-------------+-------------------+-----------+------------+-------
     regression    | public      | hotkey_single_col | {22}      | 1858004829 |     2
     regression    | public      | hotkey_single_col | {11}      | 2011968649 |     2
    (2 rows)
    
  • global_stat_clean_hotkeys()

    Description: Clears statistics on hotspot keys in the entire cluster.

    Return type: Boolean.

    1
    2
    3
    4
    5
    gaussdb=# SELECT * FROM global_stat_clean_hotkeys();
     global_stat_clean_hotkeys
    -----------------------
     t
    (1 row)
    
  • global_comm_get_recv_stream()

    Description: Obtains the status of the stream received by all communications libraries on all DNs. For details about the columns returned by the function, see PG_COMM_RECV_STREAM.

    Return type: record.

  • global_comm_get_send_stream()

    Description: Obtains the status of the stream sent by all communications libraries on all DNs. For details about the columns returned by the function, see PG_COMM_SEND_STREAM.

    Return type: record.

  • global_comm_get_status()

    Description: Obtains the communications library status on all DNs. For details about the columns returned by the function, see PG_COMM_STATUS.

    Return type: record.

  • global_comm_client_info()

    Description: Obtains information about active client connections of global nodes. For details about the columns returned by the function, see COMM_CLIENT_INFO.

    Return type: record.

  • global_comm_get_client_info()

    Description: Obtains information about client connections of global nodes. For details about the columns returned by the function, see COMM_CLIENT_INFO.

    Return type: record.

  • pgxc_stat_activity()

    Description: Displays information about all CNs in the current cluster queried by the current user. Only users with the SYSADMIN or MONADMIN permission can execute this function, and common users can view only their own information. Three columns are added to version 505.0.0. During the gray upgrade observation period, an error is reported. You need to use PG_STAT_ACTIVITY to directly connect to the target node for query.

    Return type: record.

    Name

    Type

    Description

    coorname

    text

    Name of a CN in the current cluster

    datid

    oid

    OID of the database that the user session connects to in the backend

    datname

    text

    Name of the database that the user session connects to in the backend

    pid

    bigint

    Backend thread ID.

    sessionid

    bigint

    Session ID

    usesysid

    oid

    OID of the user logged in to the backend.

    usename

    text

    Name of the user logged in to the backend.

    application_name

    text

    Name of the application connected to the backend

    client_addr

    inet

    IP address of the client connected to the backend. If this column is NULL, it indicates either the client is connected via a Unix socket on the server or this is an internal thread, such as AUTOVACUUM.

    client_hostname

    text

    Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This column will be non-null only for IP connections and only when log_hostname is enabled.

    client_port

    integer

    TCP port number that the client uses for communication with this backend (–1 if a Unix socket is used)

    backend_start

    timestamp with time zone

    Time when this process was started, that is, when the client connected to the server

    xact_start

    timestamp with time zone

    Time when current transaction was started (null if no transaction is active). If the current query is the first of its transaction, the value of this column is the same as that of the query_start column.

    query_start

    timestamp with time zone

    Time when the currently active query was started, or time when the last query was started if state is not active For a stored procedure, function, or package, the first query time is queried and does not change with the running of statements in the stored procedure.

    state_change

    timestamp with time zone

    Time when state was last modified

    waiting

    Boolean

    Specifies whether the backend is currently waiting on a lock. If the backend is currently waiting, the value is true.

    enqueue

    text

    Queuing status of a statement. The value can be:
    • waiting in queue: The statement is in the queue.
    • Empty: The statement is running.

    state

    text

    Overall status of the backend The value can be:
    • active: The backend is executing a query.
    • idle: The backend is waiting for a new client command.
    • idle in transaction: The backend is in a transaction, but there is no statement being executed in the transaction.
    • idle in transaction (aborted): The backend is in a transaction, but there are statements failed in the transaction.
    • fastpath function call: The backend is executing a fast-path function.
    • disabled: This state is reported if track_activities is disabled in this backend.
    NOTE:

    Only system administrators can view the session status of their accounts. The state information of other accounts is empty. For example, after user judy is connected to the database, the state information of user joe and the initial user omm in pgxc_stat_activity is empty.

    SELECT datname, usename, usesysid, state,pid FROM pgxc_stat_activity;
     datname  | usename | usesysid | state  |       pid
    ----------+---------+----------+--------+-----------------
     testdb | omm     |       10 |        | 139968752121616
     testdb | omm     |       10 |        | 139968903116560
     db_tpcds | judy    |    16398 | active | 139968391403280
     testdb | omm     |       10 |        | 139968643069712
     testdb | omm     |       10 |        | 139968680818448
     testdb | joe     |    16390 |        | 139968563377936
    (6 rows)

    resource_pool

    name

    Resource pool used by the user.

    query_id

    bigint

    ID of a query

    query

    text

    Latest query at the backend. If state is active, this column shows the ongoing query. In all other states, it shows the last query that was executed.

    global_sessionid

    text

    Global session ID

    unique_sql_id

    bigint

    Unique SQL statement ID

    trace_id

    text

    Driver-specific trace ID, which is associated with an application request

    top_xid

    xid

    Top-level transaction ID of a transaction.

    current_xid

    xid

    Current transaction ID of a transaction.

    xlog_quantity

    bigint

    Amount of Xlogs currently used by a transaction, in bytes.

  • pgxc_stat_activity_with_conninfo()

    Description: Displays query information about the current user on all CNs in the current cluster. For details, see the pgxc_stat_activity view. Only users with the SYSADMIN or MONADMIN permission can execute this function, and common users can view only their own information.

    Return type: record.

  • pgxc_stat_all_tables()

    Description: Displays statistics on a row in each table (including TOAST tables) on each node. Only users with the SYSADMIN or MONADMIN permission can execute this function.

    Return type: record.

  • pgxc_get_thread_wait_status()

    Description: Queries the call hierarchy between threads generated by all SQL statements on each node in a cluster and the block waiting status of each thread.

    Return type: record.

  • pv_session_memory

    Description: Collects statistics on memory usage at the session level, including all the memory allocated to GaussDB and stream threads on DNs for jobs currently executed by users.

    If the GUC parameter enable_memory_limit is set to off, this function cannot be used.

    Return type: record.

    Table 6 Return value description

    Name

    Type

    Description

    sessid

    text

    Thread start time and ID

    init_mem

    integer

    Memory allocated to the currently executed jobs before they enter the executor, in MB

    used_mem

    integer

    Memory allocated to the currently executed jobs, in MB

    peak_mem

    integer

    Peak memory allocated to the currently executed jobs, in MB

  • DBE_PERF.gs_stat_activity_timeout(int)

    Description: Obtains information about query jobs whose execution time exceeds the timeout threshold on the current node. The correct result can be returned only when the GUC parameter track_activities is set to on. The timeout threshold ranges from 0 to 2147483. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: SETOF record.

    Name

    Type

    Description

    database

    name

    Name of the database to which a user session is connected

    pid

    bigint

    Backend thread ID.

    sessionid

    bigint

    Session ID

    usesysid

    oid

    OID of the user logged in to the backend.

    application_name

    text

    Name of the application connected to the backend.

    query

    text

    Query that is being executed on the backend

    xact_start

    timestamptz

    Time when the current transaction is started

    query_start

    timestamptz

    Time when the current query starts

    query_id

    bigint

    Query statement ID

  • DBE_PERF.global_stat_activity_timeout(int)

    Description: Obtains information about query jobs whose execution time exceeds the timeout threshold in the current system (all CNs). The correct result can be returned only when the GUC parameter track_activities is set to on. The timeout threshold ranges from 0 to 2147483. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: SETOF record.

    Name

    Type

    Description

    nodename

    text

    Name of the CN connected to the user session

    database

    name

    Name of the database to which a user session is connected

    pid

    bigint

    Backend thread ID.

    sessionid

    bigint

    Session ID

    usesysid

    oid

    OID of the user logged in to the backend.

    application_name

    text

    Name of the application connected to the backend.

    query

    text

    Query that is being executed on the backend

    xact_start

    timestamptz

    Time when the current transaction is started

    query_start

    timestamptz

    Time when the current query starts

    query_id

    bigint

    Query statement ID.

  • DBE_PERF.get_global_active_session()

    Description: Displays a summary of samples in the ACTIVE SESSION PROFILE memory on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function. The event_start_time, current_xid, and top_xid columns are added to GaussDB Kernel 505.0. After GaussDB Kernel is upgraded to GaussDB Kernel 505.0 or later, the columns cannot be queried during the upgrade observation period.

    Return type: record.

  • DBE_PERF.get_global_os_runtime()

    Description: Displays the running status of the current OS. This function can be queried only on CNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record

  • DBE_PERF.get_global_os_threads()

    Description: Provides thread status information on all normal nodes in the entire cluster. The information can be queried only on CNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_os_threads()

    Description: Provides thread status information on all normal nodes in the entire cluster. The information can be queried only on CNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_workload_sql_count()

    Description: Provides the count information of SELECT, UPDATE, INSERT, DELETE, DDL, DML, and DCL in different loads in the entire cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_workload_sql_elapse_time()

    Description: Provides SELECT, UPDATE, INSERT, DELETE, and response time information (TOTAL, AVG, MIN, and MAX) in different loads in the entire cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_workload_transaction()

    Description: Obtains the transaction volume and time information on all nodes in the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_session_stat()

    Description: Obtains the session status information on all nodes in the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

    The status information contains the following 14 items: commit, rollback, sql, table_scan, blocks_fetched, physical_read_operation, shared_blocks_dirtied, local_blocks_dirtied, shared_blocks_read, local_blocks_read, blocks_read_time, blocks_write_time, sort_imemory, and sort_idisk.

  • DBE_PERF.get_global_session_time()

    Description: Provides the time consumed in each key phase on each node in the entire cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_session_memory()

    Description: Aggregates statistics on memory usage at the session level on each node in the unit of MB, including all the memory allocated to GaussDB and stream threads on DNs for jobs currently executed by users. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_session_memory_detail()

    Description: Aggregates statistics on thread memory usage on each node by the MemoryContext node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_session_stat_activity()

    Description: Aggregates information about running threads on each node in the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_thread_wait_status()

    Description: Aggregates the blocking waiting status of the backend thread and auxiliary thread on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_operator_ec_history()

    Description: Aggregates the historical status information about the current user's EC operators on each CN. After a cluster is created, by default, you must have the MONADMIN or SYSADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_operator_ec_history_table()

    Description: Aggregates the historical status information (persistent) of the current user's EC operators on each CN. After a cluster is created, by default, you must have the MONADMIN or SYSADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_operator_ec_runtime()

    Description: Aggregates the real-time status information about the current user's EC operators on each CN. After a cluster is created, by default, you must have the MONADMIN or SYSADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_operator_history_table()

    Description: Aggregates the operator records (persistent) after jobs are executed by the current user on all CNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_operator_history()

    Description: Aggregates the operator records after jobs are executed by the current user on all CNs. After a cluster is created, by default, you must have the MONADMIN or SYSADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_operator_runtime()

    Description: Aggregates real-time operator records of jobs executed by the current user on all CNs. After a cluster is created, by default, you must have the MONADMIN or SYSADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statement_complex_history()

    Description: Aggregates the historical records of complex queries executed by the current user on all CNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statement_complex_history_table()

    Description: Aggregates the historical records of complex queries (persistent) executed by the current user on all CNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statement_complex_runtime()

    Description: Aggregates real-time information about complex queries executed by the current user on all CNs. After a cluster is created, by default, you must have the MONADMIN or SYSADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_memory_node_detail()

    Description: Aggregates the memory usage of a database on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_shared_memory_detail()

    Description: Aggregates the usage information about the shared memory contexts on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_comm_delay()

    Description: Aggregates the communications library delay status on all DNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_comm_recv_stream()

    Description: Aggregates the status of the stream received by the communications library on all DNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_comm_send_stream()

    Description: Aggregates the status of the stream sent by the communications library on all DNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_comm_status()

    Description: Aggregates the status of the communications library on all DNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_all_indexes()

    Description: Aggregates index information and I/O statistics in the current database on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_local_toastname_and_toastindexname()

    Description: Provides the mapping between the name and index of the local TOAST table and its associated tables. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_statio_all_indexes()

    Description: Collects I/O statistics on specific indexes, covering all index lines in the current database on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_all_sequences()

    Description: Provides I/O status information about all sequences in the namespace. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_all_tables()

    Description: Aggregates I/O statistics on each table in the database on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_statio_all_tables()

    Description: Collects statistics on I/Os of each table in the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_local_toast_relation()

    Description: Provides the mapping between the name of the local TOAST table and its associated tables. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_sys_indexes()

    Description: Aggregates I/O status information about all system catalog indexes in namespaces on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_statio_sys_indexes()

    Description: Collects statistics on I/O status information about all system catalog indexes in namespaces on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_sys_sequences()

    Description: Provides I/O status information about all system catalog sequences in namespaces. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_sys_tables()

    Description: Provides I/O status information about all system catalogs in the namespaces on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_statio_sys_tables()

    Description: Aggregates I/O status information about all system catalogs in the namespaces of the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_user_indexes()

    Description: Provides I/O status information about all user relationship table indexes in the namespaces on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_statio_user_indexes()

    Description: Aggregates I/O status information about all user relationship table indexes in the namespaces of the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_user_sequences()

    Description: Provides I/O status information about all user sequences in the namespaces on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statio_user_tables()

    Description: Provides I/O status information about all user relationship tables in the namespaces on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_statio_user_tables()

    Description: Aggregates I/O status information about all user relationship tables in the namespaces of the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_dn_stat_all_tables()

    Description: Aggregates statistics on all tables in the database on each DN. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_cn_stat_all_tables()

    Description: Aggregates statistics on all tables in the database on each CN. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_dn_stat_all_tables()

    Description: Collects statistics on all tables in the database on each DN. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_cn_stat_all_tables()

    Description: Collects statistics on all tables in the database on each CN. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_all_indexes()

    Description: Aggregates statistics on all indexes in the database on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_all_indexes()

    Description: Collects statistics on all indexes in the database on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_sys_tables()

    Description: Aggregates statistics on the system catalogs of all the namespaces in the pg_catalog or information_schema schema on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_sys_tables()

    Description: Collects statistics on the system catalogs of all the namespaces in the pg_catalog or information_schema schema on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_sys_indexes()

    Description: Aggregates index status information about all system catalogs in the pg_catalog or information_schema schema on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_sys_indexes()

    Description: Collects index status information about all system catalogs in the pg_catalog or information_schema schema on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_user_tables()

    Description: Aggregates status information about user-defined ordinary tables in all namespaces. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_user_tables()

    Description: Collects status information about user-defined ordinary tables in all namespaces. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_user_indexes()

    Description: Aggregates status information about the indexes of user-defined ordinary tables in all databases. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_user_indexes()

    Description: Collects status information about the indexes of user-defined ordinary tables in all databases. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_database()

    Description: Aggregates statistics on databases on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_database_conflicts()

    Description: Collects statistics on databases on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_xact_all_tables()

    Description: Aggregates transaction status information about all ordinary tables and TOAST tables in namespaces. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_xact_all_tables()

    Description: Collects transaction status information about all ordinary tables and TOAST tables in the namespace. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_xact_sys_tables()

    Description: Aggregates transaction status information about system catalogs in namespaces on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_xact_sys_tables()

    Description: Collects transaction status information about system catalogs in namespaces on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_xact_user_tables()

    Description: Aggregates transaction status information about user tables in namespaces on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_stat_xact_user_tables()

    Description: Collects transaction status information about user tables in namespaces on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_user_functions()

    Description: Aggregates transaction status information about user-defined functions in namespaces on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_xact_user_functions()

    Description: Collects transaction status information about user-defined functions in namespaces on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_stat_bad_block()

    Description: Aggregates information about the failure to read files such as tables and indexes on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_file_redo_iostat()

    Description: Collects information about the failure to read files such as tables and indexes on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_file_iostat()

    Description: Collects I/O statistics of data files on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_locks()

    Description: Aggregates lock information on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_replication_slots()

    Description: Aggregates logical replication information on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.GET_GLOBAL_PARALLEL_DECODE_STATUS()

    Description: Displays the parallel decoding information of replication slots on all primary DNs in a cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function. This function can be executed only on CNs. An error is reported when it is executed on DNs. The returned value is the same as that of the view GLOBAL_PARALLEL_DECODE_STATUS.

    Return type: record.

  • DBE_PERF.GET_GLOBAL_PARALLEL_DECODE_THREAD_INFO()

    Description: Displays the parallel decoding thread information of replication slots on all primary DNs in a cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function. This function can be executed only on CNs. An error is reported when it is executed on DNs. The returned value is the same as that of the view GLOBAL_PARALLEL_DECODE_THREAD_INFO.

    Return type: record.

  • DBE_PERF.get_global_bgwriter_stat()

    Description: Aggregates statistics on the backend write thread activities on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_replication_stat()

    Description: Aggregates status information about log synchronization on all nodes, such as the location where the sender sends logs and the location where the receiver receives logs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_pooler_status()

    Description: Aggregates cache connection status in the pooler on all CNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_transactions_running_xacts()

    Description: Aggregates information about running transactions on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_transactions_running_xacts()

    Description: Collects information about running transactions on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_transactions_prepared_xacts()

    Description: Aggregates information about transactions that are currently prepared for two-phase commit on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_transactions_prepared_xacts()

    Description: Collects information about transactions that are currently prepared for two-phase commit on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_statement()

    Description: Aggregates the status of historical statements executed on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_statement_count()

    Description: Aggregates SELECT, UPDATE, INSERT, DELETE, and response time information (TOTAL, AVG, MIN, and MAX) on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_config_settings()

    Description: Aggregates GUC parameter settings on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_wait_events()

    Description: Aggregates status information about the wait events on each node. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_statement_responsetime_percentile()

    Description: Obtains the response time distribution for 80% and 95% SQL statements in the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_summary_user_login()

    Description: Collects statistics on the number of user login and logout times on each node in the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.get_global_record_reset_time()

    Description: Aggregates statistics on reset (restart, primary-standby switchover, and database deletion) time in the cluster. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.standby_statement_history(only_slow[, time1, time2])

    Description: Queries full SQL statements on the standby node. The primary node queries full SQL statements using the statement_history table, while the standby node queries using this function. To query this function, you must have the MONADMIN permission.

    For details, see Table 7.

    Return type: record, which is the same as that in the statement_history table.

    Table 7 standby_statement_history parameters

    Parameter

    Type

    Description

    only_slow

    Boolean

    Specifies whether to query only slow SQL statements.
    • true: yes, which is equivalent to select .. where is_slow_sql = true.
    • false or NULL indicates that all SQL statements are queried, that is, is_slow_sql is not used as a filtering condition.

    time1

    timestamptz

    Minimum time specified by finish_time for querying SQL statements. This parameter is optional.

    time2

    timestamptz

    Maximum time specified by finish_time for querying SQL statements. This parameter is optional.

    • The two time parameters time1 and time2 indicate the time segment to which finish_time of the queried SQL statement belongs. They indicate the start time and end time respectively. If NULL or no value is entered, there is no limit. The function of time1 and time2 is the same as that of select .. where finish_time between time1 and time2.
    • The data generated from this function on the standby node is not stored in a table, and there is no index on the start_time column. You are advised to use the parameter to search for finish_time.
    • Full/Slow SQL statements on the standby node are written to disks asynchronously. Therefore, the storage of user SQL information may be delayed. You are advised to query this API to expand the query time range.
  • DBE_PERF.track_memory_context(context_list text)

    Description: Sets the memory context whose memory application details need to be collected. The input parameter is the memory context names, which are separated by commas (,), for example, ThreadTopMemoryContext, SessionCacheMemoryContext. Note that the memory context names are context-sensitive. In addition, the length of a single memory context is 63, and the excess part is truncated. The maximum number of memory contexts that can be collected at a time is 16. If the number of memory contexts exceeds 16, the setting fails. Each time this function is called, the previous statistics result is cleared. When the input parameter is set to "", the statistics function is disabled. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: Boolean.

  • DBE_PERF.track_memory_context_detail()

    Description: Obtains the memory application details of the memory context specified by the DBE_PERF.track_memory_context function. For details, see the DBE_PERF.track_memory_context_detail view. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.global_io_wait_info()

    Description: Queries real-time I/O control statistics on all CNs and DNs. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • pg_stat_get_mem_mbytes_reserved(tid)

    Description: Collects statistics on variables related to resource management, which is used only for fault locating.

    Parameter: thread ID

    Return type: text.

  • pg_stat_get_file_stat()

    Description: Collects statistics on data file I/Os to indicate I/O performance and detect performance problems such as abnormal I/O operations.

    Return type: record.

  • pg_stat_get_redo_stat()

    Description: Displays statistics on the replay of session thread logs.

    Return type: record.

  • pg_stat_get_status(int8)

    Description: Tests the block waiting status about the backend thread and auxiliary thread of the current instance.

    Return type: record.

  • get_local_rel_iostat()

    Description: Queries the accumulated I/O status of data files on the current node.

    Return type: record.

  • DBE_PERF.get_global_rel_iostat()

    Description: Aggregates I/O statistics on data files on all nodes. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • pg_catalog.plancache_status()

    Description: Displays status information about the global plan cache on the current node. The information returned by the function is the same as that in GLOBAL_PLANCACHE_STATUS.

    Return type: record.

  • DBE_PERF.global_plancache_status()

    Description: Displays status information about the global plan cache on all nodes. For details about the information returned by the function, see GLOBAL_PLANCACHE_STATUS. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • pg_catalog.prepare_statement_status() (Discarded)

    Description: Displays the PREPARE statement status information on the current node. The information returned by the function is the same as that in GLOBAL_PREPARE_STATEMENT_STATUS.

    Return type: record.

  • DBE_PERF.global_prepare_statement_status() (Discarded)

    Description: Displays status information about the PREPARE statement on all nodes. For details about the information returned by the function, see GLOBAL_PREPARE_STATEMENT_STATUS. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • DBE_PERF.global_threadpool_status()

    Description: Displays the status of worker threads and sessions in thread pools on all nodes. For details about the information returned by the function, see 18.7.14-Table GLOBAL_THREADPOOL_STATUS. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Return type: record.

  • comm_check_connection_status()

    Description: Returns the connection status between the CN and all active nodes (CNs and primary DNs). This function can be queried only on CNs and can be used by common users.

    Parameter: nan

    Return type: node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, and no_error_occur boolean

  • DBE_PERF.global_comm_check_connection_status()

    Description: Returns the connection status between all CNs and all active nodes (CNs and primary DNs). This function can be queried only on CNs. Permission control is inherited from the DBE_PERF schema. After a cluster is created, by default, you must have the MONADMIN permission to query this function.

    Parameter: nan

    Return type: node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, and no_error_occur boolean

  • remote_candidate_stat()

    Description: Displays the number of pages in the candidate buffer chain of this instance and buffer elimination information, including the normal buffer pool and segment buffer pool.

    Return type: record.

    Table 8 remote_candidate_stat parameter description

    Name

    Type

    Description

    node_name

    text

    Node name

    candidate_slots

    integer

    Number of pages in the candidate buffer chain of the current normal buffer pool

    get_buf_from_list

    bigint

    Number of times that pages are obtained from the candidate buffer chain during buffer eviction in the current normal buffer pool

    get_buf_clock_sweep

    bigint

    Number of times that pages are obtained from the original eviction solution during buffer eviction in the current normal buffer pool

    seg_candidate_slots

    integer

    Number of pages in the candidate buffer chain of the current segment buffer pool

    seg_get_buf_from_list

    bigint

    Number of times that pages are obtained from the candidate buffer chain during buffer eviction in the current segment buffer pool

    seg_get_buf_clock_sweep

    bigint

    Number of times that pages are obtained from the original eviction solution during buffer eviction in the current segment buffer pool

  • remote_ckpt_stat()

    Description: Displays the checkpoint information and log flushing information about all instances in the cluster (unavailable on DNs, except for the current node).

    Return type: record.

    Table 9 remote_ckpt_stat parameter description

    Parameter

    Type

    Description

    node_name

    text

    Instance name

    ckpt_redo_point

    text

    Checkpoint of the current instance

    ckpt_clog_flush_num

    int8

    Number of Clog flushing pages from the startup time to the current time

    ckpt_csnlog_flush_num

    int8

    Number of CSN log flushing pages from the startup time to the current time

    ckpt_multixact_flush_num

    int8

    Number of MultiXact flushing pages from the startup time to the current time

    ckpt_predicate_flush_num

    int8

    Number of predicate flushing pages from the startup time to the current time

    ckpt_twophase_flush_num

    int8

    Number of two-phase flushing pages from the startup time to the current time

  • remote_double_write_stat()

    Description: Displays doublewrite file status of all instances in the cluster (unavailable on DNs, except for the current node).

    Return type: record.

    Table 10 remote_double_write_stat parameter description

    Parameter

    Type

    Description

    node_name

    text

    Instance name

    curr_dwn

    int8

    Sequence number of the doublewrite file.

    curr_start_page

    int8

    Start page for restoring the doublewrite file

    file_trunc_num

    int8

    Number of times that the doublewrite file is reused.

    file_reset_num

    int8

    Number of reset times after the doublewrite file is full.

    total_writes

    int8

    Total number of I/Os of the doublewrite file

    low_threshold_writes

    int8

    Number of I/Os for writing the doublewrite files with low efficiency (the number of I/O flushing pages at a time is less than 16.)

    high_threshold_writes

    int8

    Number of I/Os for writing the doublewrite files with high efficiency (the number of I/O flushing pages at a time is more than 421.)

    total_pages

    int8

    Total number of pages that are flushed to the doublewrite file area

    low_threshold_pages

    int8

    Number of pages that are flushed with low efficiency

    high_threshold_pages

    int8

    Number of pages that are flushed with high efficiency

    file_id

    int8

    ID of the current doublewrite file

  • remote_single_flush_dw_stat()

    Description: Displays the single-page doublewrite file eviction status of all instances in the cluster (unavailable on DNs, except for the current node).

    Return type: record.

    Table 11 remote_single_flush_dw_stat parameter description

    Parameter

    Type

    Description

    node_name

    text

    Instance name

    curr_dwn

    integer

    Sequence number of the doublewrite file.

    curr_start_page

    integer

    Start position of the current doublewrite file.

    total_writes

    bigint

    Total number of data write pages in the current doublewrite file.

    file_trunc_num

    bigint

    Number of times that the doublewrite file is reused.

    file_reset_num

    bigint

    Number of reset times after the doublewrite file is full.

  • remote_pagewriter_stat()

    Description: Displays the page flushing information and checkpoint information about all instances in the cluster (unavailable on DNs, except for the current node).

    Return type: record.

    Table 12 remote_pagewriter_stat parameter description

    Parameter

    Type

    Description

    node_name

    text

    Instance name

    pgwr_actual_flush_total_num

    int8

    Total number of dirty pages flushed from the startup time to the current time

    pgwr_last_flush_num

    int4

    Number of dirty pages flushed in the previous batch

    remain_dirty_page_num

    int8

    Estimated number of dirty pages that are not flushed

    queue_head_page_rec_lsn

    text

    recovery_lsn of the first dirty page in the dirty page queue of the current instance

    queue_rec_lsn

    text

    recovery_lsn of the dirty page queue of the current instance

    current_xlog_insert_lsn

    text

    Write position of Xlogs in the current instance

    ckpt_redo_point

    text

    Checkpoint of the current instance

  • remote_recovery_status()

    Description: Displays log flow control information about the primary and standby nodes (except the current node and DNs).

    Return type: record.

    Table 13 remote_recovery_status parameter description

    Parameter

    Type

    Description

    node_name

    text

    Node name (including the primary and standby nodes)

    standby_node_name

    text

    Name of the standby node

    source_ip

    text

    IP address of the primary node

    source_port

    int4

    Port number of the primary node

    dest_ip

    text

    IP address of the standby node

    dest_port

    int4

    Port number of the standby node

    current_rto

    int8

    Current log flow control time of the standby node (unit: s)

    target_rto

    int8

    Expected flow control time of the standby node specified by the corresponding GUC parameter (unit: s)

    current_sleep_time

    int8

    Sleep time required to achieve the expected flow control time (unit: μs)

  • remote_rto_stat()

    Description: Displays log flow control information about the primary and standby nodes (unavailable on DNs, except for the current node).

    Return type: record.

    Table 14 remote_rto_stat parameters

    Parameter

    Type

    Description

    node_name

    text

    Node name (including the primary and standby nodes)

    rto_info

    text

    Flow control information, including the current log flow control time (unit: second) of the standby node, the expected flow control time (unit: second) specified by the GUC parameter, and the primary node sleep time (unit: μs) required to reach the expectation

  • remote_redo_stat()

    Description: Displays the log replay status of all instances in the cluster (unavailable on DNs, except for the current node).

    Return type: record.

    Table 15 remote_redo_stat parameter description

    Parameter

    Type

    Description

    node_name

    text

    Instance name

    redo_start_ptr

    int8

    Start point for replaying the instance logs

    redo_start_time

    int8

    Start time (UTC) when the instance logs are replayed

    redo_done_time

    int8

    End time (UTC) when the instance logs are replayed

    curr_time

    int8

    Current time (UTC) of the instance

    min_recovery_point

    int8

    Position of the minimum consistency point for the instance logs

    read_ptr

    int8

    Position for reading the instance logs

    last_replayed_read_ptr

    int8

    Position for replaying the instance logs

    recovery_done_ptr

    int8

    Replay position after the instance is started

    read_xlog_io_counter

    int8

    Number of I/Os when the instance reads and replays logs

    read_xlog_io_total_dur

    int8

    Total I/O latency when the instance reads and replays logs

    read_data_io_counter

    int8

    Number of data page I/O reads during replay in the instance

    read_data_io_total_dur

    int8

    Total I/O latency of data page reads during replay in the instance

    write_data_io_counter

    int8

    Number of data page I/O writes during replay in the instance

    write_data_io_total_dur

    int8

    Total I/O latency of data page writes during replay in the instance

    process_pending_counter

    int8

    Number of synchronization times of log distribution threads during replay in the instance

    process_pending_total_dur

    int8

    Total synchronization latency of log distribution threads during replay in the instance

    apply_counter

    int8

    Number of synchronization times of replay threads during replay in the instance

    apply_total_dur

    int8

    Total synchronization latency of replay threads during replay in the instance

    speed

    int8

    Log replay rate of the current instance

    local_max_ptr

    int8

    Maximum number of replay logs received by the local host after the instance is started

    primary_flush_ptr

    int8

    Log point where the host flushes logs to a disk

    worker_info

    text

    Replay thread information of the instance. If concurrent replay is not enabled, the value is NULL.

  • pgxc_gtm_snapshot_status()

    Description: Queries for transaction information on the current GTM. This function is supported only in GTM mode, and is not supported in GTM-LITE or GTM-FREE mode.

    Return type: record.

    The following table describes return parameters.
    Table 16 PGXC_GTM_SNAPSHOT_STATUS return parameters

    Name

    Type

    Description

    xmin

    xid

    Minimum XID of the running transactions

    xmax

    xid

    XID of the transaction next to the executed transaction with the maximum XID

    csn

    integer

    Specifies the sequence number of the transaction to be committed.

    oldestxmin

    xid

    Minimum XID of the executed transactions

    xcnt

    integer

    Number of the running transactions

    running_xids

    text

    XID of the running transaction

  • pv_os_run_info()

    Description: Displays the running status of the current OS. For details about the columns, see PV_OS_RUN_INFO.

    Parameter: nan

    Return type: SETOF record.

  • pv_session_stat()

    Description: Collects session status information by session thread or AutoVacuum thread. For details about the columns, see PV_SESSION_STAT.

    Parameter: nan

    Return type: SETOF record.

  • pv_session_time()

    Description: Collects statistics on the running time of session threads and the time consumed in each execution phase. For details about the columns, see PV_SESSION_TIME.

    Parameter: nan

    Return type: SETOF record.

  • pg_stat_get_db_temp_bytes()

    Description: Collects statistics on the total amount of data written to temporary files through database query. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.

    Parameter: oid

    Return type: bigint.

  • pg_stat_get_db_temp_files()

    Description: Queries the number of temporary files created in the database. All temporary files are counted, regardless of why the temporary file was created (for example, sorting or hashing), and regardless of the log_temp_files setting.

    Parameter: oid

    Return type: bigint.

  • gs_prepared_statements()

    Description: Displays prepared statements that are available in all sessions. Only users with the SYSADMIN permission can execute this function. The fields in the information returned by the function are the same as those in GS_ALL_PREPARED_STATEMENTS.

    Return type: record.

  • local_redo_time_count()

    Description: Returns the time consumption statistics on each process of each replayer thread on the current node (valid data exists only on the standby node).

    The return values are as follows:
    Table 17 local_redo_time_count return parameters

    Column

    Description

    thread_name

    Thread name.

    step1_total

    Total duration of step 1. The process of each thread is as follows:

    • Ultimate RTO:

      redo batch: obtains a log from a queue.

      redo manager: obtains a log from a queue.

      redo worker: obtains a log from a queue.

      trxn manager: reads a log from a queue.

      trxn worker: reads a log from a queue.

      read worker: reads an Xlog page (overall) from a file.

      read page worker: obtains a log from a queue.

      startup: obtains a log from a queue.

    • Parallel replay:

      page redo: obtains a log from a queue.

      startup: reads a log.

    step1_count

    Number of accumulated execution times of step 1.

    step2_total

    Total duration of step 2. The process of each thread is as follows:

    • Ultimate RTO:

      redo batch: processes logs (overall).

      redo manager: processes logs (overall).

      redo worker: processes logs (overall).

      trxn manager: processes logs (overall).

      trxn worker: processes logs (overall).

      read worker: specifies the time required for reading the Xlog page.

      read page worker: generates and sends LSN forwarders.

      startup: checks whether to replay to the specified position.

    • Parallel replay:

      startup: checks whether to replay to the specified position.

    step2_count

    Number of accumulated execution times of step 2.

    step3_total

    Total duration of step 3. The process of each thread is as follows:

    • Ultimate RTO:

      redo batch: updates the standby state.

      redo manager: processes data logs.

      redo worker: replays page logs (overall).

      trxn manager: updates the flushing LSN.

      trxn worker: replays logs.

      read worker: updates the Xlog segment.

      read page worker: obtains a new item.

      startup: collects statistics on the wait time of delayed replay feature.

    • Parallel replay:

      page redo: updates the standby state.

      startup: collects statistics on the wait time of delayed replay feature.

    step3_count

    Number of accumulated execution times of step 3.

    step4_total

    Total duration of step 4. The process of each thread is as follows:

    • Ultimate RTO:

      redo batch: parses Xlogs.

      redo manager: processes DDL operations.

      redo worker: reads data pages.

      trxn manager: synchronizes the wait time.

      trxn worker: updates the LSN of the current thread.

      read page worker: stores logs in the distribution thread.

      startup: distributes logs (overall).

    • Parallel replay:

      page redo: replays undo logs.

      startup: distributes logs (overall).

    step4_count

    Number of accumulated execution times of step 4.

    step5_total

    Total duration of step 5. The process of each thread is as follows:

    • Ultimate RTO:

      redo batch: distributes to the redo manager.

      redo manager: distributes logs to redo workers.

      redo worker: replays data page logs.

      trxn manager: distributes data to the trxn worker.

      trxn worker: forcibly synchronizes the wait time.

      read page worker: updates the LSN of the current thread.

      startup: decodes logs.

    • Parallel replay:

      page redo: replays sharetrxn logs.

      startup: replays logs.

    step5_count

    Number of accumulated execution times of step 5.

    step6_total

    Total duration of step 6. The process of each thread is as follows:

    • Ultimate RTO:

      redo worker: replays non-data page logs.

      trxn manager: updates global LSNs.

      redo manager: stores data page logs to the hash table.

    • Parallel replay:

      page redo: replays synctrxn logs.

      startup: forcibly synchronizes the wait time.

    step6_count

    Number of accumulated execution times of step 6.

    step7_total

    Total duration of step 7. The process of each thread is as follows:

    • Ultimate RTO:

      redo manager: creates tablespaces.

      redo worker: updates FSM.

    • Parallel replay:

      page redo: replays a single log.

    step7_count

    Number of accumulated execution times of step 7.

    step8_total

    Total duration of step 8. The process of each thread is as follows:

    • Ultimate RTO:

      redo worker: forcibly synchronizes the wait time.

    • Parallel replay:

      page redo: replays all workers do logs.

    step8_count

    Number of accumulated execution times of step 8.

    step9_total

    Total duration of step 9. The process of each thread is as follows:

    • Ultimate RTO:

      redo manager: distributes logs to the page redo thread.

    • Parallel replay:

      page redo: replays multi-worker do logs.

    step9_count

    Number of accumulated execution times of step 9.

  • local_xlog_redo_statics()

    Description: Returns the statistics on each type of logs that have been replayed on the current node (valid data exists only on the standby node).

    The return values are as follows:
    Table 18 local_xlog_redo_statics parameters

    Column

    Description

    xlog_type

    Log types.

    rmid

    Resource manager ID.

    info

    Xlog operation.

    num

    Number of logs.

    extra

    Valid values are available for page replay logs and xact logs.
    • Number of pages read from the disk if the log is of the page type.
    • Number of deleted files if the log is of the xact type.
  • remote_bgwriter_stat()

    Description: Displays information about pages flushed by the bgwriter threads of all instances in the cluster, number of pages in the candidate buffer chain, and buffer eviction information (not available on the DN, except for the current node).

    Return type: record.

    Table 19 remote_bgwriter_stat parameter description

    Parameter

    Type

    Description

    node_name

    text

    Instance name

    bgwr_actual_flush_total_num

    bigint

    Total number of dirty pages flushed by the bgwriter thread from the startup time to the current time

    bgwr_last_flush_num

    integer

    Number of dirty pages flushed by the bgwriter thread in the previous batch

    candidate_slots

    integer

    Number of pages in the current candidate buffer chain

    get_buffer_from_list

    bigint

    Number of times that pages are obtained from the candidate buffer chain during buffer eviction

    get_buf_clock_sweep

    bigint

    Number of times that pages are obtained from the original eviction solution during buffer eviction

    Example:

    The remote_bgwriter_stat function is used to query the page refreshing information of the bgwriter thread.

    1
    2
    3
    4
    5
    6
    7
    gaussdb=# SELECT * FROM remote_bgwriter_stat();
     node_name | bgwr_actual_flush_total_num | bgwr_last_flush_num | candidate_slots | get_buffer_from_list | get_buf_clock_sweep
    -----------+-----------------------------+---------------------+-----------------+----------------------+---------------------
     datanode3 |                           0 |                   0 |          266232 |                  404 |                   0
     datanode2 |                           0 |                   0 |          266232 |                  424 |                   0
     datanode1 |                           0 |                   0 |          266232 |                  393 |                   0
    (3 rows)
    

  • gs_stack()

    Description: Displays the call stack of a thread. To query this function, you must have the SYSADMIN or MONADMIN permission.

    Parameter: tid, which indicates the thread ID. tid is an optional parameter. If it is specified, the function returns the call stack of the thread corresponding to tid. If it is not specified, the function returns the call stacks of all threads.

    Return value: If tid is specified, the return value is of the TEXT type. If tid is not specified, the return value is a SETOF record.

    Example:

    Obtain the call stack of a specified thread.
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    gaussdb=# SELECT * FROM gs_stack(139663481165568);
                                  gs_stack
    --------------------------------------------------------------------
     __poll + 0x2d                                                     +
     WaitLatchOrSocket(Latch volatile*, int, int, long) + 0x29f        +
     WaitLatch(Latch volatile*, int, long) + 0x2e                      +
     JobScheduleMain() + 0x90f                                         +
     int GaussDbThreadMain<(knl_thread_role)9>(knl_thread_arg*) + 0x456+
     InternalThreadFunc(void*) + 0x2d                                  +
     ThreadStarterFunc(void*) + 0xa4                                   +
     start_thread + 0xc5                                               +
     clone + 0x6d                                                      +
    (1 row)
    
    Obtain the call stacks of all threads.
     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
    gaussdb=# SELECT * FROM gs_stack();
    -[ RECORD 1 ]-------------------------------------------------------------------------------------------------------
    tid   | 139670364324352
    lwtid | 308
    stack | __poll + 0x2d
          | CommWaitPollParam::caller(int (*)(pollfd*, unsigned long, int), unsigned long) + 0x34
          | int comm_socket_call<CommWaitPollParam, int (*)(pollfd*, unsigned long, int)>(CommWaitPollParam*, int (*)(pollfd*, unsigned long
    , int)) + 0x28
          | comm_poll(pollfd*, unsigned long, int) + 0xb1
          | ServerLoop() + 0x72b
          | PostmasterMain(int, char**) + 0x314e
          | main + 0x617
          | __libc_start_main + 0xf5
          | 0x55d38f8db3a7
    [ RECORD 2 ]-------------------------------------------------------------------------------------------------------
    tid   | 139664851859200
    lwtid | 520
    stack | __poll + 0x2d
          | WaitLatchOrSocket(Latch volatile*, int, int, long) + 0x29f
          | SysLoggerMain(int) + 0xc86
          | int GaussDbThreadMain<(knl_thread_role)17>(knl_thread_arg*) + 0x45d
          | InternalThreadFunc(void*) + 0x2d
          | ThreadStarterFunc(void*) + 0xa4
          | start_thread + 0xc5
          | clone + 0x6d
    
  • gs_perf_start()

    Description: Calls perf_event_open to collect the call stack of each thread and the running time of each function. To query this function, you must have the SYSADMIN or MONADMIN permission.

    The parameters are described as follows.

    Parameter

    Description

    Type

    Range

    duration

    Stack collection duration, in seconds. If a floating-point number is entered, the first digit after the decimal point is rounded off.

    integer

    1~60

    freq

    Stack collection frequency. This parameter is optional. The unit is Hz. The default value is 100.

    integer

    10~1000

    Return type: text

    Example:

    Set the frequency to 100 Hz and collect stack information for 10s.
    1
    2
    3
    4
    5
    gaussdb=# SELECT * FROM gs_perf_start(10, 100);
        gs_perf_start
    ---------------------
     Perf start succeed.
    (1 row)
    

    During data collection, gs_perf_start needs to apply for a ring buffer. The buffer size is controlled by /proc/sys/kernel/perf_event_mlock_kb in the OS. If the error message "perf mmap failed" is displayed during the collection, adjust the size of /proc/sys/kernel/perf_event_mlock_kb and start the collection again.

  • gs_perf_query()

    Description: Collects the function call stacks of each thread, sums up the function running time, and displays the collection result. To query this function, you must have the SYSADMIN or MONADMIN permission.

    Parameter: nan

    Return type: SETOF record.

    The following table describes the fields returned by the function.

    Name

    Type

    Description

    backtrace

    text

    Stack name (in a tree structure).

    period

    bigint

    Execution time of a stack.

    level

    integer

    Level of the stack call tree where a stack is located.

    sequence

    integer

    Sequence in the stack call tree after sorting.

    thread_name

    text

    Name of the thread where a stack is located.

    overhead

    float

    Percentage of the stack execution time.

    Example:

    Query the collected stack information.
     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
    gaussdb=# SELECT * FROM gs_perf_query() WHERE overhead > 2 AND level < 10;
                                       backtrace                                   |   period    | level | sequence |  thread_name  | overhead
    -------------------------------------------------------------------------------+-------------+-------+----------+---------------+----------
     root                                                                         +| 74140000000 |     0 |        1 | root          |      100
                                                                                   |             |       |          |               |
         worker                                                                   +| 69930000000 |     1 |        2 | worker        |    94.32
                                                                                   |             |       |          |               |
         |── start_thread                                                       +| 67620000000 |     2 |        3 | worker        |    91.21
                                                                                   |             |       |          |               |
         |   └── ThreadStarterFunc                                             +| 67620000000 |     3 |        4 | worker        |    91.21
                                                                                   |             |       |          |               |
         |       └── internal_thread_func                                      +| 67620000000 |     4 |        5 | worker        |    91.21
                                                                                   |             |       |          |               |
         |           └── int gauss_db_thread_main                              +| 67620000000 |     5 |        6 | worker        |    91.21
                                                                                   |             |       |          |               |
          |               └── backend_run                                      +| 67620000000 |     6 |        7 | worker        |    91.21
                                                                                   |             |       |          |               |
         |                   |── PostgresMain                                   +| 67520000000 |     7 |        8 | worker        |    91.07
                                                                                   |             |       |          |               |
         |                   |   |── exec_simple_query                          +| 64800000000 |     8 |        9 | worker        |     87.4
                                                                                   |             |       |          |               |
         |                   |   |   |── OpFusion::opfusion_process             +| 30130000000 |     9 |       10 | worker        |    40.64
                                                                                   |             |       |          |               |
         |                   |   |   |── pg_analyze_and_rewrite                 +| 11290000000 |     9 |     1405 | worker        |    15.23
                                                                                   |             |       |          |               |
         |                   |   |   |── pg_plan_queries                        +|  9550000000 |     9 |     2660 | worker        |    12.88
                                                                                   |             |       |          |               |
         |                   |   |   |── PortalRun                              +|  4680000000 |     9 |     4310 | worker        |     6.31
                                                                                   |             |       |          |               |
         |                   |   |   |── finish_xact_command                    +|  3120000000 |     9 |     4923 | worker        |     4.21
                                                                                   |             |       |          |               |
         |                   |   |   |── pg_parse_query                         +|  1520000000 |     9 |     5262 | worker        |     2.05
                                                                                   |             |       |          |               |
         |                   |   |   |── OpFusion::opfusion_factory             +|  1500000000 |     9 |     5374 | worker        |     2.02
                                                                                   |             |       |          |               |
         txnsnapworker                                                            +|  1640000000 |     1 |     6770 | txnsnapworker |     2.21
                                                                                   |             |       |          |               |
         |── start_thread                                                       +|  1620000000 |     2 |     6771 | txnsnapworker |     2.19
                                                                                   |             |       |          |               |
         |   └── ThreadStarterFunc                                             +|  1620000000 |     3 |     6772 | txnsnapworker |     2.19
                                                                                   |             |       |          |               |
         |       └── internal_thread_func                                      +|  1620000000 |     4 |     6773 | txnsnapworker |     2.19
                                                                                   |             |       |          |               |
         |           └── int gauss_db_thread_main                              +|  1620000000 |     5 |     6774 | txnsnapworker |     2.19
                                                                                   |             |       |          |               |
         |               └── txn_snap_cap_worker_main                          +|  1620000000 |     6 |     6775 | txnsnapworker |     2.19
                                                                                   |             |       |          |               |
         |                   └── PostgresInitializer::InitTxnSnapWorker        +|  1620000000 |     7 |     6776 | txnsnapworker |     2.19
                                                                                   |             |       |          |               |
         |                       |── PostgresInitializer::SetDatabase           +|  1600000000 |     8 |     6777 | txnsnapworker |     2.16
                                                                                   |             |       |          |               |
         |                       |   └── PostgresInitializer::SetDatabaseByName+|  1600000000 |     9 |     6778 | txnsnapworker |     2.16
    
  • gs_perf_report()

    Description: Generates a graphical flame graph file based on the stack data collected by executing the gs_perf_start function and saves the file in the $GAUSSLOG/gs_flamegraph/{datanode} directory. To query this function, you must have the SYSADMIN or MONADMIN permission.

    Parameter: nan

    Return type: text

    Example:

    Generate a flame graph file.
    1
    2
    3
    4
    5
    gaussdb=# SELECT * FROM gs_perf_report();
                                 gs_perf_report                              
    -------------------------------------------------------------------------
     Perf report succeed, flamegraph file: flamegraph-2023-11-26_164802.html
    (1 row)
    
  • gs_perf_clean()

    Description: Clears data generated by perf. To query this function, you must have the SYSADMIN or MONADMIN permission.

    Parameter: nan

    Return type: text.

    Example:

    Clear the collected stack information.
    1
    2
    3
    4
    5
    gaussdb=# SELECT * FROM gs_perf_clean();
        gs_perf_clean
    ---------------------
     Perf clean succeed.
    (1 row)
    
  • gs_tpworker_execstmt_stat()

    Description: Displays the runtime information of a statement. If the SYSADMIN or MONADMIN user runs the statement, the information about all the statements that are being executed is displayed. Common users can query only the information about the SQL statements executed by themselves.

    Return type: SETOF record.

    Name

    Type

    Description

    db_oid

    oid

    OID of the database that the user session connects to in the backend

    db_name

    name

    Name of the database that the user session connects to in the backend

    threadpool_worker

    varchar

    NUMA group to which a thread belongs and thread ID. The format is numagroup_threadid.

    thread_id

    bigint

    Thread ID.

    session_id

    bigint

    Session ID.

    query_id

    bigint

    ID of the SQL statement that is being executed

    query_text

    text

    Content of the SQL statement that is being executed

    unique_sql_id

    bigint

    Unique ID generated by the SQL statement

    client_hostname

    text

    Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This column will be non-null only for IP connections and only when log_hostname is enabled.

    client_app_name

    text

    Name of the client app

    stmt_slow_time_threshold

    int

    Preset timeout interval for marking an SQL statement as a slow SQL statement, in milliseconds

    stmt_start_time

    timestamp with time zone

    Time when the statement starts to be executed

    stmt_elapse_time

    int

    Time elapsed since the query starts

    stmt_control_status

    varchar

    Current statement state
    • Waiting: The session access is successful but it is not executed by the thread.
    • Running: The current statement is executed properly.
    • Control: The current statement enters the resource control phase.

    stmt_control_rule

    text

    Slow SQL control rule corresponding to the current language

    stmt_control_iostat

    text

    IOPS value and maximum IOPS of the current statement. The format is curVal/maxVal.

    stmt_control_memstat

    text

    This field is reserved and is not supported currently.

    stmt_control_cpustat

    text

    This field is reserved and is not supported currently.

    stmt_control_netstat

    text

    This field is reserved and is not supported currently.

  • gs_tpworker_execslot_stat()

    Description: Displays the thread running information. If the SYSADMIN or MONADMIN user runs the command, information about all threads is displayed. Common users can query only information about the threads where the SQL statements executed by themselves are located.

    Return type: SETOF record.

    Name

    Type

    Description

    numagroup

    int

    NUMA group to which the current thread belongs

    worker_id

    int

    Thread ID of the current thread

    worker_bind_type

    text

    Thread binding mode. The value can be numabind, cpubind, allbind, or nobind.

    worker_cpu_affinity

    text

    Affinity between threads and CPU cores, that is, the range of CPU cores that can be scheduled by threads.

    worker_status

    varchar

    Current thread status:
    • Waiting: The session access is successful but it is not executed by the thread.
    • Running: The current statement is executed properly.
    • Control: The current statement enters the resource control phase.

    served_query_id

    bigint

    ID of the SQL statement that is being executed

    served_query_text

    text

    Content of the SQL statement that is being executed

  • gs_session_all_settings(sessionid bigint)

    Description: Queries the full GUC parameter settings of the session corresponding to the session ID on the local node. To execute this function, you must have the SYSADMIN or MONADMIN permission.

    Input parameter description: sessionid indicates the session ID.

    Return type: SETOF record.

    The following table describes return fields.

    Name

    Type

    Description

    name

    text

    Parameter name

    setting

    text

    Current parameter value

    unit

    text

    Implicit unit of a parameter

    Example:

    gaussdb=# SELECT sessionid FROM pg_stat_activity WHERE usename = 'testuser';
     sessionid
    -----------
        788861
    (1 row)
    
    gaussdb=# SELECT * FROM gs_session_all_settings(788861) WHERE name = 'work_mem';
       name   | setting | unit
    ----------+---------+------
     work_mem | 131072  | kB
    (1 row)
  • gs_session_all_settings()

    Description: Queries full GUC parameter settings of all sessions on the local node. To execute this function, you must have the SYSADMIN or MONADMIN permission.

    Return type: SETOF record.

    Name

    Type

    Description

    sessionid

    bigint

    Session ID

    pid

    bigint

    Backend thread ID

    name

    text

    Parameter name

    setting

    text

    Current parameter value

    unit

    text

    Implicit unit of a parameter

    Example:

    gaussdb=# SELECT * FROM gs_session_all_settings() WHERE name = 'work_mem';
        sessionid    |       pid       |   name   | setting | unit
    -----------------+-----------------+----------+---------+------
     140550214145792 |           96974 | work_mem | 65536   | kB
     140550214145792 |           96971 | work_mem | 65536   | kB
     140549731735296 | 140549731735296 | work_mem | 65536   | kB
     140549764413184 | 140549764413184 | work_mem | 65536   | kB
    (4 rows)
  • gs_local_wal_preparse_statistics()

    Description: Queries the latest startup of the log pre-parsing thread on the local node as well as the pre-parsing logs. Only the user with the SYSADMIN permission can execute this function.

    Return type: SETOF record.

    Name

    Type

    Description

    preparser_term

    text

    Maximum term value obtained from the latest pre-parsing log.

    preparser_start_time

    timestamptz

    Time when the latest pre-parsing is started.

    preparser_end_time

    timestamptz

    End time of the latest pre-parsing.

    preparser_start_location

    text

    Start position of the latest pre-parsing log.

    preparser_end_location

    text

    End position of the latest pre-parsing log.

    preparser_total_bytes

    int8

    Number of latest pre-parsed logs, in bytes.

    preparser_speed

    int8

    Latest pre-parsing speed, in bytes/ms.

    is_valid

    bool

    Specifies whether the latest pre-parsing result can be used for leader selection.

    Example:

    gaussdb=# SELECT * FROM gs_local_wal_preparse_statistics();
     preparser_term |     preparser_start_time      |      preparser_end_time       | preparser_start_location | preparser_end_location | preparser_total_bytes | preparser_speed | is_valid 
    ----------------+-------------------------------+-------------------------------+--------------------------+------------------------+-----------------------+-----------------+----------
     3107           | 2023-02-01 17:04:23.367946+08 | 2023-02-01 17:04:25.354434+08 | 00000003/C3EEA660        | 00000004/0BE60738      |            1207394520 |      1207394520 | f
    (1 row)
  • gs_hot_standby_space_info()

    Description: Queries the total number and total size of files in the standby_read/base_page, standby_read/block_info_meta and standby_read/lsn_info_meta folders.

    Return type: SETOF record.

    Name

    Type

    Description

    base_page_file_num

    xid

    Total number of bage_page_files.

    base_page_total_size

    xid

    Total size of bage_page_files.

    lsn_info_meta_file_num

    xid

    Total number of lsn_info_meta_files.

    lsn_info_meta_total_size

    xid

    Total size of the lsn_info_meta_files.

    block_info_meta_file_num

    xid

    Total number of block_info_meta_files.

    block_info_meta_total_size

    xid

    Total size of the block_info_meta_files.

    Example:

    gaussdb=# SELECT * FROM gs_hot_standby_space_info();
     base_page_file_num | base_page_total_size | lsn_info_meta_file_num | lsn_info_meta_total_size | block_info_meta_file_num | block_info_meta_total_size
    --------------------+----------------------+------------------------+--------------------------+--------------------------+----------------------------
                      6 |               163840 |                      6 |                     3136 |                       16 |                     147456
    (1 row)
  • exrto_file_read_stat()

    Description: Queries the number of disk access times and total access latency of new base page files, lsn info meta files, and block info meta files read by the standby node. Connect to the standby DN for query. In other cases, the query result is 0.

    Return type: SETOF record.

    Name

    Type

    Description

    lsn_info_page_disk_read_counter

    int8

    Number of disk access times of lsn info meta files

    lsn_info_page_disk_read_dur

    int8

    Total latency of lsn info meta file access to disks.

    blk_info_meta_disk_read_counter

    int8

    Number of disk access times of block info meta files

    blk_info_meta_disk_read_dur

    int8

    Total latency of block info meta file access to disks.

    base_page_read_disk_counter

    int8

    Number of disk access times of base page files

    base_page_read_disk_dur

    int8

    Total latency of base page file access to disks.

    Example:

    gaussdb=# SELECT * FROM exrto_file_read_stat();
     lsn_info_page_disk_read_counter | lsn_info_page_disk_read_dur | blk_info_meta_disk_read_counter | blk_info_meta_disk_read_dur | base_page_read_disk_counter | base_page_read_disk_dur
    ---------------------------------+-----------------------------+---------------------------------+-----------------------------+-----------------------------+-------------------------
                               14987 |                       92313 |                           23879 |                      129811 |                           0 |                       0
    (1 row)
  • gs_exrto_recycle_info()

    Description: Queries the resource recycling location, including the recycling LSN of each thread, global recycling LSN, and the earliest snapshot LSN of a query thread. Connect to the standby DN for query. In other cases, the query result is 0.

    Return type: SETOF record.

    Name

    Type

    Description

    page_redo_worker_thread_id

    text

    Reclamation LSN location of redo thread. thread_id indicates the redo thread ID.

    global_recycle_lsn

    text

    LSN of global reclamation location

    exrto_snapshot_oldest_lsn

    text

    Earliest snapshot LSN of a query thread.

    Example:

    gaussdb=# SELECT * FROM gs_exrto_recycle_info();
                thread_id             | recycle_lsn
    ----------------------------------+-------------
     page_redo_worker_140148895381248 | 0/7B4552E0
     page_redo_worker_140148872312576 | 0/7B4535B8
     global_recycle_lsn               | 0/7B4535B8
     exrto_snapshot_oldest_lsn        | 0/8488E6D0
    (4 rows)
  • gs_stat_get_db_conflict_all(oid)

    Input parameter: dbid(oid) indicates the database OID.

    Description: Queries the number of sent replay conflict signals of different types.

    Return type: SETOF record.

    Name

    Type

    Description

    conflict_all

    int8

    Number of sent replay conflict signals

    conflict_tablespace

    int8

    Number of sent replay conflict signals of the tablespace type

    conflict_lock

    int8

    Number of sent replay conflict signals of the lock type

    conflict_snapshot

    int8

    Number of sent replay conflict signals of the snapshot type

    conflict_bufferpin

    int8

    Number of sent replay conflict signals of the bufferpin type

    conflict_startup_deadlock

    int8

    Number of sent replay conflict signals of the startup_deadlock type

    conflict_truncate

    int8

    Number of sent replay conflict signals of the truncate type

    conflict_standby_query_timeout

    int8

    Number of sent replay conflict signals of the standby_query_timeout type

    conflict_force_recycle

    int8

    Number of sent replay conflict signals of the force_recycle type

    Example:
    gaussdb=# SELECT * FROM gs_stat_get_db_conflict_all(12738);
     conflict_all | conflict_tablespace | conflict_lock | conflict_snapshot | conflict_bufferpin | conflict_startup_deadlock | conflict_truncate | conflict_standby_query_timeout | conflict_force_recycle 
    --------------+---------------------+---------------+-------------------+--------------------+---------------------------+-------------------+--------------------------------+------------------------
                0 |                   0 |             0 |                 0 |                  0 |                         0 |                 0 |                              0 |                      0
    (1 row)
  • gs_redo_stat_info()

    Description: Queries redo information, including the buffer hit ratio of the redo thread, number of unlink_rels files executed, wait event information of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario, and wait event information of wal_read_from_write_buffer. The query must be executed by connecting to the standby DN.

    Return type: SETOF record.

    Name

    Type

    Description

    buffer_hit_rate

    float8

    Buffer hit ratio of the redo thread.

    ddl_unlink_nrels_count

    int8

    Number of unlink rel files executed during the redo process of DDL statements.

    read_buffer_io_counter

    int8

    Number of wait events of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.

    read_buffer_io_total_dur

    int8

    Total wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.

    read_buffer_io_avg_dur

    int8

    Average wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.

    read_buffer_io_min_dur

    int8

    Minimum wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.

    read_buffer_io_max_dur

    int8

    Maximum wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.

    read_wal_buf_counter

    int8

    Number of wait events triggered by wal_read_from_write_buffer in the ultimate RTO scenario.

    read_wal_buf_total_dur

    int8

    Total wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.

    read_wal_buf_avg_dur

    int8

    Average wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.

    read_wal_buf_min_dur

    int8

    Minimum wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.

    read_wal_buf_max_dur

    int8

    Maximum wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.

    Example:

    gaussdb=# SELECT * FROM gs_redo_stat_info();
    -[ RECORD 1 ]------------+----------
    buffer_hit_rate          | 70.5707
    ddl_unlink_nrels_count   | 3
    read_buffer_io_counter   | 1732
    read_buffer_io_total_dur | 2850806
    read_buffer_io_avg_dur   | 1645
    read_buffer_io_min_dur   | 3
    read_buffer_io_max_dur   | 981639
    read_wal_buf_counter     | 9779
    read_wal_buf_total_dur   | 193612470
    read_wal_buf_avg_dur     | 19798
    read_wal_buf_min_dur     | 3
    read_wal_buf_max_dur     | 1914777
  • gs_recovery_conflict_waitevent_info()

    Description: Queries wait event information about the function that processes redo conflicts. The query must be executed by connecting to the standby DN.

    Return type: SETOF record.

    Name

    Type

    Description

    conflict_lock_counter

    int8

    Number of times that lock redo conflicts are triggered.

    conflict_lock_total_dur

    int8

    Total duration for processing lock redo conflicts.

    conflict_lock_avg_dur

    int8

    Average duration for processing lock redo conflicts.

    conflict_lock_min_dur

    int8

    Minimum duration for processing lock redo conflicts.

    conflict_lock_max_dur

    int8

    Maximum duration for processing lock redo conflicts.

    conflict_snapshot_counter

    int8

    Number of times that snapshot redo conflicts are triggered.

    conflict_snapshot_total_dur

    int8

    Total duration for processing snapshot redo conflicts.

    conflict_snapshot_avg_dur

    int8

    Average duration for processing snapshot redo conflicts.

    conflict_snapshot_min_dur

    int8

    Minimum duration for processing snapshot redo conflicts.

    conflict_snapshot_max_dur

    int8

    Maximum duration for processing snapshot redo conflicts.

    conflict_tablespace_counter

    int8

    Number of times that tablespace redo conflicts are triggered.

    conflict_tablespace_total_dur

    int8

    Total duration for processing tablespace redo conflicts.

    conflict_tablespace_avg_dur

    int8

    Average duration for processing tablespace redo conflicts.

    conflict_tablespace_min_dur

    int8

    Minimum duration for processing tablespace redo conflicts.

    conflict_tablespace_max_dur

    int8

    Maximum duration for processing tablespace redo conflicts.

    conflict_database_counter

    int8

    Number of times that database redo conflicts are triggered.

    conflict_database_total_dur

    int8

    Total duration for processing database redo conflicts.

    conflict_database_avg_dur

    int8

    Average duration for processing database redo conflicts.

    conflict_database_min_dur

    int8

    Minimum duration for processing database redo conflicts.

    conflict_database_max_dur

    int8

    Maximum duration for processing database redo conflicts.

    conflict_truncate_counter

    int8

    Number of times that TRUNCATE redo conflicts are triggered.

    conflict_truncate_total_dur

    int8

    Total duration for processing TRUNCATE redo conflicts.

    conflict_truncate_avg_dur

    int8

    Average duration for processing TRUNCATE redo conflicts.

    conflict_truncate_min_dur

    int8

    Minimum duration for processing TRUNCATE redo conflicts.

    conflict_truncate_max_dur

    int8

    Maximum duration for processing TRUNCATE redo conflicts.

    conflict_standby_query_timeout_counter

    int8

    Number of times that standby_query_timeout redo conflicts are triggered.

    conflict_standby_query_timeout_total_dur

    int8

    Total duration for processing standby_query_timeout redo conflicts.

    conflict_standby_query_timeout_avg_dur

    int8

    Average duration for processing standby_query_timeout redo conflicts.

    conflict_standby_query_timeout_min_dur

    int8

    Minimum duration for processing standby_query_timeout redo conflicts.

    conflict_standby_query_timeout_max_dur

    int8

    Maximum duration for processing standby_query_timeout redo conflicts.

    conflict_force_recycle_counter

    int8

    Number of times that force_recycle redo conflicts are triggered.

    conflict_force_recycle_total_dur

    int8

    Total duration for processing force_recycle redo conflicts.

    conflict_force_recycle_avg_dur

    int8

    Average duration for processing force_recycle redo conflicts.

    conflict_force_recycle_min_dur

    int8

    Minimum duration for processing force_recycle redo conflicts.

    conflict_force_recycle_max_dur

    int8

    Maximum duration for processing force_recycle redo conflicts.

    Example:

    gaussdb=# SELECT * FROM gs_recovery_conflict_waitevent_info();
    -[ RECORD 1 ]----------------------------+------
    conflict_lock_counter                    | 0
    conflict_lock_total_dur                  | 0
    conflict_lock_avg_dur                    | 0
    conflict_lock_min_dur                    | 0
    conflict_lock_max_dur                    | 0
    conflict_snapshot_counter                | 0
    conflict_snapshot_total_dur              | 0
    conflict_snapshot_avg_dur                | 0
    conflict_snapshot_min_dur                | 0
    conflict_snapshot_max_dur                | 0
    conflict_tablespace_counter              | 0
    conflict_tablespace_total_dur            | 0
    conflict_tablespace_avg_dur              | 0
    conflict_tablespace_min_dur              | 0
    conflict_tablespace_max_dur              | 0
    conflict_database_counter                | 0
    conflict_database_total_dur              | 0
    conflict_database_avg_dur                | 0
    conflict_database_min_dur                | 0
    conflict_database_max_dur                | 0
    conflict_truncate_counter                | 6
    conflict_truncate_total_dur              | 35872
    conflict_truncate_avg_dur                | 5978
    conflict_truncate_min_dur                | 5130
    conflict_truncate_max_dur                | 7459
    conflict_standby_query_timeout_counter   | 0
    conflict_standby_query_timeout_total_dur | 0
    conflict_standby_query_timeout_avg_dur   | 0
    conflict_standby_query_timeout_min_dur   | 0
    conflict_standby_query_timeoutmax_dur    | 0
    conflict_force_recycle_counter           | 0
    conflict_force_recycle_total_dur         | 0
    conflict_force_recycle_avg_dur           | 0
    conflict_force_recycle_min_dur           | 0
    conflict_force_recycle_max_dur           | 0
  • gs_display_delay_ddl_info()

    Description: Views information about files that are delayed for deletion on the standby node.

    Return type: SETOF record.

    Name

    Type

    Description

    type

    INT4

    Indicates that the deleted object is a table or database.

    lsn

    TEXT

    Marks the location of a particular log file.

    tablespace

    INT4

    Indicates the physical space for storing tables and indexes in a database.

    database

    INT4

    Indicates the physical storage location of a database.

    relation

    INT4

    Indicates the object in a database, which can be the physical location of a table, view, or index.

    bucketid

    INT4

    Specifies the bucket to which the relationship object belongs.

    opt

    INT4

    Indicates the attribute of a compressed table.

    forknum

    INT4

    Specifies a suffix name for a subject name. You can find a unique physical file based on the subject name and suffix name.

    Example:
    gaussdb=# SELECT * FROM gs_display_delay_ddl_info();
     type | lsn | tablespace | database | relation | bucketid | opt | forknum 
    ------+-----+------------+----------+----------+----------+-----+---------
    (0 rows)

Functions for Collecting Statistics in Partitioned Tables

  • gs_stat_get_partition_stats(oid)

    Description: Obtains the statistics of a specific partition.

    Return type: record.

  • gs_stat_get_xact_partition_stats(oid)

    Description: Obtains transaction statistics of a specific partition.

    Return type: record.

  • gs_stat_get_all_partitions_stats()

    Description: Obtains the statistics of all partitions.

    Return type: SETOF record.

  • gs_stat_get_xact_all_partitions_stats()

    Description: Obtains transaction statistics of all partitions.

    Return type: SETOF record.

  • gs_statio_get_all_partitions_stats()

    Description: Obtains the I/O statistics of all partitions.

    Return type: SETOF record.

    Examples of the preceding five functions

    Statistics are reported asynchronously during execution. Based on UDP, delay and packet loss may occur during background thread processing. The following example is for reference only.

    Querying out-of-transaction statistics:

    gaussdb=# CREATE TABLE part_tab1
    gaussdb-# (
    gaussdb(#     a int, b int
    gaussdb(# )
    gaussdb-# PARTITION BY RANGE(b)
    gaussdb-# (
    gaussdb(#     PARTITION P1 VALUES LESS THAN(10),
    gaussdb(#     PARTITION P2 VALUES LESS THAN(20),
    gaussdb(#     PARTITION P3 VALUES LESS THAN(MAXVALUE)
    gaussdb(# );
    CREATE TABLE
    gaussdb=# CREATE TABLE subpart_tab1
    gaussdb-# (
    gaussdb(#     month_code VARCHAR2 ( 30 ) NOT NULL ,
    gaussdb(#     dept_code  VARCHAR2 ( 30 ) NOT NULL ,
    gaussdb(#     user_no    VARCHAR2 ( 30 ) NOT NULL ,
    gaussdb(#     sales_amt  int
    gaussdb(# )
    gaussdb-# PARTITION BY RANGE (month_code) SUBPARTITION BY RANGE (dept_code)
    gaussdb-# (
    gaussdb(#   PARTITION p_201901 VALUES LESS THAN( '201903' )
    gaussdb(#   (
    gaussdb(#     SUBPARTITION p_201901_a VALUES LESS THAN( '2' ),
    gaussdb(#     SUBPARTITION p_201901_b VALUES LESS THAN( '3' )
    gaussdb(#   ),
    gaussdb(#   PARTITION p_201902 VALUES LESS THAN( '201904' )
    gaussdb(#   (
    gaussdb(#     SUBPARTITION p_201902_a VALUES LESS THAN( '2' ),
    gaussdb(#     SUBPARTITION p_201902_b VALUES LESS THAN( '3' )
    gaussdb(#   )
    gaussdb(# );
    CREATE TABLE
    gaussdb=# CREATE INDEX index_part_tab1 ON part_tab1(b) LOCAL
    gaussdb-# (
    gaussdb(# PARTITION b_index1,
    gaussdb(# PARTITION b_index2,
    gaussdb(# PARTITION b_index3
    gaussdb(# );
    CREATE INDEX
    gaussdb=# CREATE INDEX idx_user_no ON subpart_tab1(user_no) LOCAL;
    CREATE INDEX
    gaussdb=# INSERT INTO part_tab1 VALUES(1, 1);
    INSERT 0 1
    gaussdb=# INSERT INTO part_tab1 VALUES(1, 11);
    INSERT 0 1
    gaussdb=# INSERT INTO part_tab1 VALUES(1, 21);
    INSERT 0 1
    gaussdb=# UPDATE part_tab1 SET a = 2 WHERE b = 1;
    UPDATE 1
    gaussdb=# UPDATE part_tab1 SET a = 3 WHERE b = 11;
    UPDATE 1
    gaussdb=# UPDATE /*+ indexscan(part_tab1) */ part_tab1 SET a = 4 WHERE b = 21;
    UPDATE 1
    gaussdb=# DELETE FROM part_tab1;
    DELETE 3
    gaussdb=# ANALYZE part_tab1;
    ANALYZE
    gaussdb=# VACUUM part_tab1;
    VACUUM
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '1', '1', 1);
    INSERT 0 1
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '2', '2', 1);
    INSERT 0 1
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '1', '3', 1);
    INSERT 0 1
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '2', '4', 1);
    INSERT 0 1
    gaussdb=# UPDATE subpart_tab1 SET sales_amt = 2 WHERE user_no='1';
    UPDATE 1
    gaussdb=# UPDATE subpart_tab1 SET sales_amt = 3 WHERE user_no='2';
    UPDATE 1
    gaussdb=# UPDATE subpart_tab1 SET sales_amt = 4 WHERE user_no='3';
    UPDATE 1
    gaussdb=# UPDATE /*+ indexscan(subpart_tab1) */ subpart_tab1 SET sales_amt = 5 WHERE user_no='4';
    UPDATE 1
    gaussdb=# DELETE FROM subpart_tab1;
    DELETE 4
    gaussdb=# ANALYZE subpart_tab1;
    ANALYZE
    gaussdb=# VACUUM subpart_tab1;
    VACUUM
    gaussdb=# SELECT * FROM gs_stat_all_partitions;
     partition_oid | schemaname |   relname    | partition_name | sub_partition_name | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd | n_live_tup |
     n_dead_tup |          last_vacuum          |    last_autovacuum     |         last_analyze          |    last_autoanalyze    | vacuum_count | autovacuum_count | analyze_count | autoanalyze_count 
    ---------------+------------+--------------+----------------+--------------------+----------+--------------+----------+---------------+-----------+-----------+-----------+---------------+------------+
    ------------+-------------------------------+------------------------+-------------------------------+------------------------+--------------+------------------+---------------+-------------------
             16964 | public     | subpart_tab1 | p_201902       | p_201902_b         |        5 |            1 |        4 |             1 |         1 |         1 |         1 |             1 |          0 |
              1 | 2023-05-15 20:36:45.293965+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688861+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0
             16963 | public     | subpart_tab1 | p_201902       | p_201902_a         |        5 |            1 |        4 |             0 |         1 |         1 |         1 |             1 |          0 |
              1 | 2023-05-15 20:36:45.291022+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688843+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0
             16961 | public     | subpart_tab1 | p_201901       | p_201901_b         |        5 |            1 |        4 |             0 |         1 |         1 |         1 |             1 |          0 |
              1 | 2023-05-15 20:36:45.288037+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688829+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0
             16960 | public     | subpart_tab1 | p_201901       | p_201901_a         |        5 |            1 |        4 |             0 |         1 |         1 |         1 |             1 |          0 |
              1 | 2023-05-15 20:36:45.285311+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688802+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0
             16954 | public     | part_tab1    | p3             |                    |        2 |            1 |        1 |             1 |         1 |         1 |         1 |             1 |          0 |
              1 | 2023-05-15 20:36:29.490636+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:28.540115+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0
             16953 | public     | part_tab1    | p2             |                    |        4 |            1 |        1 |             0 |         1 |         1 |         1 |             1 |          0 |
              1 | 2023-05-15 20:36:29.487914+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:28.540098+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0
             16952 | public     | part_tab1    | p1             |                    |        5 |            1 |        1 |             0 |         1 |         1 |         1 |             1 |          0 |
              1 | 2023-05-15 20:36:29.48536+08  | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:28.540071+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0
    (7 rows)
    
    gaussdb=# SELECT * FROM gs_statio_all_partitions;
     partition_oid | schemaname |   relname    | partition_name | sub_partition_name | heap_blks_read | heap_blks_hit | idx_blks_read | idx_blks_hit | toast_blks_read | toast_blks_hit | tidx_blks_read | t
    idx_blks_hit 
    ---------------+------------+--------------+----------------+--------------------+----------------+---------------+---------------+--------------+-----------------+----------------+----------------+--
    -------------
             16964 | public     | subpart_tab1 | p_201902       | p_201902_b         |              4 |             8 |             2 |           21 |                 |                |                |  
    
             16963 | public     | subpart_tab1 | p_201902       | p_201902_a         |              4 |             8 |             2 |           21 |                 |                |                |  
    
             16961 | public     | subpart_tab1 | p_201901       | p_201901_b         |              4 |             8 |             2 |           21 |                 |                |                |  
    
             16960 | public     | subpart_tab1 | p_201901       | p_201901_a         |              4 |             8 |             2 |           21 |                 |                |                |  
    
             16954 | public     | part_tab1    | p3             |                    |              4 |             8 |             2 |           15 |                 |                |                |  
    
             16953 | public     | part_tab1    | p2             |                    |              4 |             8 |             2 |           15 |                 |                |                |  
    
             16952 | public     | part_tab1    | p1             |                    |              4 |             8 |             2 |           15 |                 |                |                |  
    
    (7 rows)
    
    gaussdb=# SELECT * FROM gs_stat_get_partition_stats(16952);
     partition_oid | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd | n_live_tup | n_dead_tup |         last_vacuum          |    last_autovacuum   
      |         last_analyze          |    last_autoanalyze    | vacuum_count | autovacuum_count | analyze_count | autoanalyze_count |   last_data_changed    | heap_blks_read | heap_blks_hit | idx_blks_re
    ad | idx_blks_hit | tup_fetch | block_fetch 
    ---------------+----------+--------------+----------+---------------+-----------+-----------+-----------+---------------+------------+------------+------------------------------+----------------------
    --+-------------------------------+------------------------+--------------+------------------+---------------+-------------------+------------------------+----------------+---------------+------------
    ---+--------------+-----------+-------------
             16952 |        5 |            1 |        1 |             0 |         1 |         1 |         1 |             1 |          0 |          1 | 2023-05-15 20:36:29.48536+08 | 2000-01-01 08:00:00+0
    8 | 2023-05-15 20:36:28.540071+08 | 2000-01-01 08:00:00+08 |            1 |                0 |             1 |                 0 | 2000-01-01 08:00:00+08 |              4 |             8 |            
     2 |           21 |         0 |          12
    (1 row)

    Querying statistics within a transaction

    gaussdb=# BEGIN;
    BEGIN
    gaussdb=# INSERT INTO part_tab1 VALUES(1, 1);
    INSERT 0 1
    gaussdb=# INSERT INTO part_tab1 VALUES(1, 11);
    INSERT 0 1
    gaussdb=# INSERT INTO part_tab1 VALUES(1, 21);
    INSERT 0 1
    gaussdb=# UPDATE part_tab1 SET a = 2 WHERE b = 1;
    UPDATE 1
    gaussdb=# UPDATE part_tab1 SET a = 3 WHERE b = 11;
    UPDATE 1
    gaussdb=# UPDATE /*+ indexscan(part_tab1) */ part_tab1 SET a = 4 WHERE b = 21;
    UPDATE 1
    gaussdb=# DELETE FROM part_tab1;
    DELETE 3
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '1', '1', 1);
    INSERT 0 1
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '2', '2', 1);
    INSERT 0 1
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '1', '3', 1);
    INSERT 0 1
    gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '2', '4', 1);
    INSERT 0 1
    gaussdb=# UPDATE subpart_tab1 SET sales_amt = 2 WHERE user_no='1';
    UPDATE 1
    gaussdb=# UPDATE subpart_tab1 SET sales_amt = 3 WHERE user_no='2';
    UPDATE 1
    gaussdb=# UPDATE subpart_tab1 SET sales_amt = 4 WHERE user_no='3';
    UPDATE 1
    gaussdb=# UPDATE /*+ indexscan(subpart_tab1) */ subpart_tab1 SET sales_amt = 5 WHERE user_no='4';
    UPDATE 1
    gaussdb=# DELETE FROM subpart_tab1;
    DELETE 4
    gaussdb=# SELECT * FROM gs_stat_xact_all_partitions;
     partition_oid | schemaname |   relname    | partition_name | sub_partition_name | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd 
    ---------------+------------+--------------+----------------+--------------------+----------+--------------+----------+---------------+-----------+-----------+-----------+---------------
             16964 | public     | subpart_tab1 | p_201902       | p_201902_b         |        4 |            4 |        1 |             2 |         1 |         1 |         1 |             1
             16963 | public     | subpart_tab1 | p_201902       | p_201902_a         |        4 |            4 |        1 |             0 |         1 |         1 |         1 |             1
             16961 | public     | subpart_tab1 | p_201901       | p_201901_b         |        4 |            4 |        1 |             0 |         1 |         1 |         1 |             1
             16960 | public     | subpart_tab1 | p_201901       | p_201901_a         |        4 |            4 |        1 |             0 |         1 |         1 |         1 |             1
             16954 | public     | part_tab1    | p3             |                    |        1 |            1 |        1 |             2 |         1 |         1 |         1 |             1
             16953 | public     | part_tab1    | p2             |                    |        3 |            2 |        0 |             0 |         1 |         1 |         1 |             1
             16952 | public     | part_tab1    | p1             |                    |        4 |            2 |        0 |             0 |         1 |         1 |         1 |             1
    (7 rows)
    
    gaussdb=# SELECT * FROM gs_stat_get_xact_partition_stats(16952);
     partition_oid | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd | tup_fetch 
    ---------------+----------+--------------+----------+---------------+-----------+-----------+-----------+---------------+-----------
             16952 |        4 |            2 |        0 |             0 |         1 |         1 |         1 |             1 |         0
    (1 row)

  • gs_stat_get_partition_analyze_count(oid)

    Description: Specifies the number of times that a user starts analysis on a partition.

    Return type: bigint.

  • gs_stat_get_partition_autoanalyze_count(oid)

    Description: Specifies the number of times that the autovacuum daemon thread starts analysis in a partition.

    Return type: bigint.

  • gs_stat_get_partition_autovacuum_count(oid)

    Description: Specifies the number of times that the autovacuum daemon thread starts vacuum in a partition.

    Return type: bigint.

  • gs_stat_get_partition_last_analyze_time(oid)

    Description: Specifies the last time when a partition starts to be analyzed manually or by the autovacuum thread.

    Return type: timestamptz.

  • gs_stat_get_partition_last_autoanalyze_time(oid)

    Description: Specifies the time when the last analysis initiated by the autovacuum daemon thread in a partition.

    Return type: timestamptz.

  • gs_stat_get_partition_last_autovacuum_time(oid)

    Description: Specifies the time of the last vacuum initiated by the autovacuum daemon thread in a partition.

    Return type: timestamptz.

  • gs_stat_get_partition_last_data_changed_time(oid)

    Description: Specifies the last time of a modification in a partition, such as insert, update, delete, and truncate. Currently, this parameter is not supported.

    Return type: timestamptz.

  • gs_stat_get_partition_last_vacuum_time(oid)

    Description: Specifies the most recent time when the user manually cleared a table or when the autovacuum thread was started to clear a partition.

    Return type: timestamptz.

  • gs_stat_get_partition_numscans(oid)

    Description: Specifies the number of rows scanned and read in partition order.

    Return type: bigint.

  • gs_stat_get_partition_tuples_returned(oid)

    Description: Specifies the number of rows scanned and read in partition order.

    Return type: bigint.

  • gs_stat_get_partition_tuples_fetched(oid)

    Description: Specifies the number of rows fetched by bitmap scans in a partition.

    Return type: bigint

  • gs_stat_get_partition_vacuum_count(oid)

    Description: Specifies the number of times that a user starts vacuum in a partition.

    Return type: bigint.

  • gs_stat_get_xact_partition_tuples_fetched(oid)

    Description: Specifies the number of tuple rows scanned in a transaction.

    Return type: bigint.

  • gs_stat_get_xact_partition_numscans(oid)

    Description: Specifies the number of sequential scans performed on a partition in the current transaction.

    Return type: bigint.

  • gs_stat_get_xact_partition_tuples_returned(oid)

    Description: Specifies the number of rows read through sequential scans in a partition in the current transaction.

    Return type: bigint.

  • gs_stat_get_partition_blocks_fetched(oid)

    Description: Specifies the number of disk block fetch requests for a partition.

    Return type: bigint.

  • gs_stat_get_partition_blocks_hit(oid)

    Description: Specifies the number of disk block requests found in cache for a partition.

    Return type: bigint.

  • pg_stat_get_partition_tuples_inserted(oid)

    Description: Specifies the number of rows in the corresponding table partition.

    Return type: bigint.

  • pg_stat_get_partition_tuples_updated(oid)

    Description: Specifies the number of rows that have been updated in the corresponding table partition.

    Return type: bigint.

  • pg_stat_get_partition_tuples_deleted(oid)

    Description: Specifies the number of rows deleted from the corresponding table partition.

    Return type: bigint.

  • pg_stat_get_partition_tuples_changed(oid)

    Description: Specifies the total number of inserted, updated, and deleted rows after a table partition was last analyzed or autoanalyzed.

    Return type: bigint.

  • pg_stat_get_partition_live_tuples(oid)

    Description: Specifies the number of live rows in a partitioned table.

    Return type: bigint.

  • pg_stat_get_partition_dead_tuples(oid)

    Description: Specifies the number of dead rows in a partitioned table.

    Return type: bigint.

  • pg_stat_get_xact_partition_tuples_inserted(oid)

    Description: Specifies the number of inserted tuples in the active sub-transactions related to a table partition.

    Return type: bigint.

  • pg_stat_get_xact_partition_tuples_deleted(oid)

    Description: Specifies the number of deleted tuples in the active sub-transactions related to a table partition.

    Return type: bigint.

  • pg_stat_get_xact_partition_tuples_hot_updated(oid)

    Description: Specifies the number of hot updated tuples in the active sub-transactions related to a table partition.

    Return type: bigint.

  • pg_stat_get_xact_partition_tuples_updated(oid)

    Description: Specifies the number of updated tuples in the active sub-transactions related to a table partition.

    Return type: bigint.

  • pg_stat_get_partition_tuples_hot_updated(oid)

    Description: Returns statistics on the number of hot updated tuples in a partition with a specified partition ID.

    Parameter: oid

    Return type: bigint.

  • gs_wlm_respool_cpu_info()

    Description: Displays the limit and usage of CPU resources in a resource pool.

    Return type: SETOF record.

    Name

    Type

    Description

    respool_name

    name

    Name of the resource pool.

    control_group

    name

    Cgroup name.

    cpu_affinity

    name

    Value of cores bound to the CPU.

    cpu_usage

    integer

    CPU usage of a resource pool.

    If the CN and DN are deployed together, the CN and DN share the same CPU resources. Therefore, the cpu_usage values of the CN and DN are the same. If the CN and DN are independently deployed, the cpu_usage values of the CN and DN are displayed separately.

    Example:

    1
    2
    3
    4
    5
    6
    gaussdb=# SELECT * FROM GS_WLM_RESPOOL_CPU_INFO();
     respool_name  |    control_group     | cpu_affinity | cpu_usage
    ---------------+----------------------+--------------+-----------
     respool_cpu_2 | respool_cpu_2:Medium | 0-95         |         78
     default_pool  | DefaultClass:Medium  | 0-32         |         65
    (2 rows)
    
  • gs_wlm_respool_connection_info()

    Description: Displays the limit and usage of the number of connections in ta resource pool.

    Return type: SETOF record.

    Name

    Type

    Description

    respool_name

    name

    Name of the resource pool.

    max_connections

    name

    Maximum number of connections to a resource pool.

    curr_connections

    integer

    Number of existing connections in the current resource pool.

    Example:
    1
    2
    3
    4
    5
    6
    gaussdb=# SELECT * FROM GS_WLM_RESPOOL_CONNECTION_INFO();
     respool_name  | max_connections | curr_connections
    ---------------+-----------------+------------------
     respool1      |              -1 |                0
     default_pool  |              -1 |                1
    (2 rows)
    
  • gs_wlm_respool_memory_info()

    Description: Displays the limit and usage of memory resources in a resource pool.

    Return type: SETOF record

    Name

    Type

    Description

    respool_name

    name

    Name of the resource pool.

    max_dynamic_memory

    integer

    Maximum dynamic memory that can be used.

    current_dynamic_memory

    integer

    Used dynamic memory.

    max_shared_memory

    integer

    Maximum shared memory that can be used.

    current_shared_memory

    integer

    Shared memory that has been used.

    shared_memory_hits_percent

    integer

    Cache hit ratio of the current resource pool.

    When the dynamic memory usage of the resource pool exceeds the maximum value, the returned value of the GUC parameter current_dynamic_memory may be greater than the value of max_dynamic_memory. This is normal because no memory is allocated.

    Example:

    1
    2
    3
    4
    5
    6
    gaussdb=# SELECT * FROM GS_WLM_RESPOOL_MEMORY_INFO();
     respool_name   | max_dynamic_memory | current_dynamic_memory | max_shared_memory | current_shared_memory | shared_memory_hits_percent 
    -----------------+--------------------+------------------------+-------------------+-----------------------+----------------------------
     default_pool    | -1                 | 3383kB                 | -1                | 3848kB                |                         90
     resource_pool_a | 30720kB            | 0kB                    | -1                | 0kB                   |                          0
    (2 rows)
    
  • gs_wlm_respool_concurrency_info()

    Description: Displays the limit and usage of concurrent resources in a resource pool.

    Return type: SETOF record

    Name

    Type

    Description

    respool_name

    name

    Name of the resource pool.

    max_concurrency

    integer

    Maximum number of concurrent queries allowed by the resource pool.

    running_conurrency

    integer

    Number of concurrent tasks that are being executed in the current resource pool.

    waiting_concurrency

    integer

    Number of concurrent tasks that are waiting in the current resource pool.

    Example:

    gaussdb=# SELECT * FROM GS_WLM_RESPOOL_CONCURRENCY_INFO();
     respool_name   | max_concurrency | running_concurrency | waiting_concurrency 
    -----------------+-----------------+---------------------+---------------------
     default_pool    |              -1 |                   1 |                   0
     resource_pool_a |              -1 |                   0 |                   0
    (2 rows)
  • gs_wlm_respool_io_info()

    Description: Displays the limit and usage of I/O resources in a resource pool.

    Return type: SETOF record

    Name

    Type

    Description

    respool_name

    name

    Name of the resource pool.

    io_limits

    integer

    Upper limit of IOPS. The value 0 indicates there is no limit.

    • Unit: The unit is determined by GUC parameter io_control_unit, which is used to count the number of I/Os during I/O control. The value of io_control_unit is one IOPS.

    io_priority

    text

    I/O priority set for jobs that consume I/O resources. It takes effect when the I/O usage reaches 90%. None indicates there is no control.

    current_iops

    integer

    Number of times that the current I/O has been triggered.

    The current I/O statistics occasionally exceed the upper limit, which is related to the I/O statistics algorithm and is normal.

    Example:

    gaussdb=# SELECT * FROM GS_WLM_RESPOOL_IO_INFO();
     respool_name   | io_limits | io_priority | current_iops 
    -----------------+-----------+-------------+--------------
     default_pool    |         0 | None        |            0
     resource_pool_a |         0 | Low         |            0
    (2 rows)
  • gs_wlm_user_space_info()

    Description: Displays the storage space usage of a user.

    Return type: SETOF record

    Name

    Type

    Description

    user_name

    name

    Username.

    max_permanent_space

    bigint

    Maximum permanent storage space that can be used by a user, in bytes.

    current_ permanent_space

    bigint

    Permanent storage space used by the current user, in bytes.

    max_temp_space

    bigint

    Maximum temporary storage space that can be used by a user, in bytes.

    current_ temp_space

    bigint

    Temporary storage space used by the current user, in bytes.

    max_spill_space

    bigint

    Maximum operator flushing storage space that can be used by a user, in bytes.

    current_ spill_space

    bigint

    Operator flushing storage space used by the current user, in bytes.

    Example:
    1
    2
    3
    4
    5
    gaussdb=# SELECT * FROM GS_WLM_USER_SPACE_INFO();
              user_name          | max_permanent_space | current_permanent_space | max_temp_space | current_temp_space | max_spill_space | current_spill_space
    -----------------------------+---------------------+-------------------------+----------------+--------------------+-----------------+---------------------
     xy                          |                  -1 |                    2464 |             -1 |                  0 |              -1 |                   0
    (1 rows)
    
  • gs_wlm_session_io_info()

    Description: Displays the I/O usage of a session.

    Return type: SETOF record

    Name

    Type

    Description

    session_id

    integer

    Session ID.

    io_limits

    integer

    Upper limit of IOPS. The value 0 indicates there is no limit.

    • Unit: The unit is determined by GUC parameter io_control_unit, which is used to count the number of I/Os during I/O control. The value of io_control_unit is one IOPS.

    io_priority

    text

    I/O priority set for jobs that consume I/O resources. It takes effect when the I/O usage reaches 90%. None indicates there is no control.

    current_iops

    integer

    Number of times that the current I/O has been triggered.

    The current I/O statistics occasionally exceed the upper limit, which is related to the I/O statistics algorithm and is normal.

    wait_time

    integer

    Total waiting time after the current I/O exceeds the upper limit.

    Example:

    1
    2
    3
    4
    5
    gaussdb=# SELECT * FROM GS_WLM_SESSION_IO_INFO();
       session_id    | io_limits | io_priority | current_iops | wait_time
    -----------------+-----------+-------------+--------------+-----------
     139976325986048 |        10 | None        |            0 |      2709
    (1 row)
    
  • gs_wlm_session_memory_info()

    Description: Displays the memory usage of a session.

    Return type: SETOF record

    Name

    Type

    Description

    session_id

    integer

    Session ID

    sess_used_dynamic_memory

    bigint

    Used dynamic memory, in bytes.

    sess_max_dynamic_memory

    bigint

    Maximum dynamic memory that can be used, in bytes.

    Example:

    1
    2
    3
    4
    5
    6
    gaussdb=# SELECT * FROM GS_WLM_SESSION_MEMORY_INFO();
         sessid      | sess_used_dynamic_memory | sess_max_dynamic_memory
    -----------------+--------------------------+-------------------------
     139976325986048 |                  4326056 |                      -1
     139976402532096 |                  4452664 |                      -1
    (2 rows)