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. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_conflict_truncate(oid)
Description: Number of queries canceled due to conflicts with TRUNCATE operations in the database that are being replayed. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_conflict_force_recycle(oid)
Description: Number of queries canceled due to forcible recycling triggered by read on standby (ROS) with ultimate RTO. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_conflict_standby_query_timeout(oid)
Description: Number of queries canceled because the query time exceeds the upper limit set by ROS with ultimate RTO. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_conflict_bufferpin(oid)
Description: Number of conflicting buffers.
Return type: bigint
pg_stat_get_db_conflict_snapshot(oid)
Description: Number of conflicting snapshots.
Return type: bigint
pg_stat_get_db_conflict_startup_deadlock(oid)
Description: Number of conflicting deadlocks.
Return type: bigint
pg_stat_get_db_conflict_all(oid)
Description: Number of queries canceled due to database recovery conflicts (conflicts occurring only on the standby server).
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. It is disabled in multi-tenancy scenarios.
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. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
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_lock_status()
Description: Queries information about locks held by open transactions. All users can execute this function. In the multi-tenancy scenario, PDB data is returned only to its own PDB, and global data is returned to a non-PDB.
Return type: For details, see PG_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: SETOF record
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 on this function in the current transaction, excluding the time spent on this function internally calling other functions.
Return type: bigint
pg_stat_get_xact_function_total_time(oid)
Description: Specifies the total wall clock time (in microseconds) spent on the function in the current transaction, including the time spent on this function internally calling other functions.
Return type: bigint
pg_stat_get_wal_senders()
Description: Queries walsender information on the primary node. In the multi-tenancy scenario, no information is returned in a PDB.
Return type: SETOF record
The following table describes return columns.
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. |
get_paxos_replication_info()
Description: Queries the primary/standby node replication status in Paxos mode.
Return type: SETOF record
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 |
Path for storing data on 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. The character string is in JSON format. The fields in the character string are described as follows: role: role of the current node. The value can be LEADER, FOLLOWER, LOGGER, PASSIVE, or UNKNOW. term: election term. run_mode: DCF running mode. The value 0 indicates that the automatic election mode is enabled, the value 1 indicates the manual election mode, and the value 2 indicates that the automatic election mode is disabled. work_mode: DCF working mode. hb_interval: heartbeat interval between DCF nodes, in milliseconds. elc_timeout: DCF election timeout period, in milliseconds. applied_index: log location that is applied to the state machine. commit_index: log location that has been saved by most DCF nodes. Logs before commit_index have been made persistent. first_index: location of the first log saved on the DCF node. This location is moved backward when the DN calls dcf_truncate. The previous logs will be cleared. last_index: location of the last log saved by the DCF node. This log location contains the logs that are stored in the memory of the DCF node but are not made persistent. cluster_min_apply_idx: location of the log that has been applied and assumes the smallest index. leader_id: ID of the leader node. leader_ip: IP address of the leader node. leader_port: port of the leader node, for DCF internal use. nodes: information of other nodes in the cluster, including the node ID, IP address, port number, and role. |
Example:
gaussdb=# select * from get_paxos_replication_info(); paxos_write_location | paxos_commit_location | local_write_location | local_flush_location | local_replay_location | dcf_replication_info ----------------------+-----------------------+----------------------+----------------------+-----------------------+--------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------- 38F/CD54F690 | 38F/CD54F690 | 38F/CD54F690 | 38F/CD546CF8 | 38F/CD546CF8 | {"stream_id":1,"local_node_id":1,"role":"LEADER"," term":1215,"run_mode":1,"work_mode":0,"stg_mode":1,"hb_interval":1000,"elc_timeout":3000,"auto_elc_pri_en":1,"elc_switch_thd":0,"group":0,"priority":3898464883456,"lead er_group":0,"is_in_major":1,"applied_index":362830766,"commit_index":362830766,"first_index":355330879,"last_index":3916160068856,"last_term":1215,"dcf_last_index":3628 30766,"dcf_last_disk":362830754,"cluster_min_apply_idx":362830764,"cluster_mode":"primary_cluster","leader_id":1,"leader_ip":"*.*.*.*","leader_port":*,"nodes" :[{"node_id":1,"ip":"*.*.*.*","port":*,"role":"LEADER","next_index":362830766,"match_index":362830765,"apply_index":362830765},{"node_id":2,"ip":"*.*.*.* ","port":*,"role":"FOLLOWER","next_index":362830767,"match_index":362830766,"apply_index":362830765},{"node_id":3,"ip":"*.*.*.*","port":*,"role":"LOGGER" ,"next_index":362830767,"match_index":362830766,"apply_index":362830764}]} (1 row)
pg_stat_get_stream_replications()
Description: Queries the primary/standby replication status.
Return type: SETOF record
The following table describes return values.
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. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: integer
pg_stat_get_db_xact_commit(oid)
Description: Specifies the number of transactions committed in a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_xact_rollback(oid)
Description: Specifies the number of transactions rolled back in a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_blocks_fetched(oid)
Description: Specifies the number of disk blocks fetch requests for a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
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. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_tuples_returned(oid)
Description: Specifies the number of tuples returned for a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_tuples_fetched(oid)
Description: Specifies the number of tuples fetched for a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_tuples_inserted(oid)
Description: Specifies the number of tuples inserted in a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_tuples_updated(oid)
Description: Specifies the number of tuples updated in a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_blk_read_time(oid)
Description: Time spent in reading data file blocks by backends in this database (unit: ms).
Return type: double
pg_stat_get_db_blk_write_time(oid)
Description: Time spent in writing data file blocks by backends in this database (unit: ms).
Return type: double
pg_stat_get_db_tuples_deleted(oid)
Description: Specifies the number of tuples deleted in a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_db_conflict_lock(oid)
Description: Specifies the number of lock conflicts in a database. Only information about the local PDB can be queried in the PDB.
Return type: bigint
pg_stat_get_db_deadlocks(oid)
Description: Specifies the number of deadlocks in a database. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Return type: bigint
pg_stat_get_numscans(oid)
Description: If the parameter is a table, the function returns the number of times the table has been read through sequential scans. If the parameter is an index, it returns the number of times index rows have been scanned.
Return type: bigint
pg_stat_get_role_name(oid)
Description: Obtains the username based on the user OID. Only users with the SYSADMIN or 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: If the parameter is a table, the function returns the number of live rows read through sequential scans. If the parameter is an index, it returns the number of live index rows.
Return type: bigint
pg_stat_get_tuples_fetched(oid)
Description: If the parameter is a table, the function returns the number of rows fetched through bitmap scans. If the parameter is an index, it returns the number of rows fetched from the original table using simple index scans.
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. It indicates the number of inactive row pointers in Ustore tables.
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: SETOF record
Output parameters: See Table 4.
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. It indicates the number of inactive row pointers in Ustore tables. |
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: The function is not supported in centralized mode.
Return type: SETOF record
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: SETOF record
Output parameters: See Table 5.
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 is returned.
Return type: bigint
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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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: SETOF record
Output parameters: See Table 6.
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 for a lock. If the backend is currently waiting for a lock, 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 UDS on the server or this is an internal thread, such as AUTOVACUUM. |
client_hostname |
text |
Host name of the connected client, obtained by a reverse DNS lookup based on 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: SETOF record
Return values: See Table 7.
Return Value |
Return Type |
Return values |
---|---|---|
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 for a lock. If the backend is currently waiting for a lock, 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 UDS on the server or this is an internal thread, such as AUTOVACUUM. |
client_hostname |
text |
Host name of the connected client, obtained by a reverse DNS lookup based on 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. |
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 backend 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. The 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 the GUC parameter 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 the GUC parameter plan_collect_thresh is set to a value greater than 0, running plans are collected incrementally based on the threshold specified by this parameter.
The return value type is text. The following table describes the types and meanings of the fields.
Parameter |
Type |
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_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 in only this function. The time spent on this function calling 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). In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: setofinteger
pg_stat_get_backend_pid(integer)
Description: Specifies the ID of the given server thread. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: bigint
pg_stat_get_backend_dbid(integer)
Description: Specifies the ID of the database connected to the given server thread. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: oid
pg_stat_get_backend_userid(integer)
Description: Specifies the user ID of the given server thread. This function can be called only by a system administrator. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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 a system administrator or the user of the session being queried and track_activities is enabled. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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 a system administrator or the user of the session being queried and track_activities is enabled. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: timestamp with time zone
pg_stat_get_backend_client_addr(integer)
Description: Specifies the IP address of a backend connected to a specified client. If the client is connected 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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: inet
pg_stat_get_backend_client_port(integer)
Description: Specifies the TCP port of a backend connected to a specified client. If the client is connected 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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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). In the multi-tenancy scenario, a normal value is returned if this function is called in a non-PDB, and the default value 0 is returned if this function is called in a PDB. (If a timestamp is used, the timestamp corresponding to 0s is returned.)
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. In the multi-tenancy scenario, a normal value is returned if this function is called in a non-PDB, and the default value 0 is returned if this function is called in a PDB. (If a timestamp is used, the timestamp corresponding to 0s is returned.)
Return type: bigint
pg_stat_get_bgwriter_buf_written_checkpoints()
Description: Specifies the number of buffers written by the background writer thread during checkpoints. In the multi-tenancy scenario, a normal value is returned if this function is called in a non-PDB, and the default value 0 is returned if this function is called in a PDB. (If a timestamp is used, the timestamp corresponding to 0s is returned.)
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. In the multi-tenancy scenario, a normal value is returned if this function is called in a non-PDB, and the default value 0 is returned if this function is called in a PDB. (If a timestamp is used, the timestamp corresponding to 0s is returned.)
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. In the multi-tenancy scenario, a normal value is returned if this function is called in a non-PDB, and the default value 0 is returned if this function is called in a PDB. (If a timestamp is used, the timestamp corresponding to 0s is returned.)
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. In the multi-tenancy scenario, a normal value is returned if this function is called in a non-PDB, and the default value 0 is returned if this function is called in a PDB. (If a timestamp is used, the timestamp corresponding to 0s is returned.)
Return type: bigint
pg_stat_get_buf_alloc()
Description: Specifies the total number of the allocated buffers. In the multi-tenancy scenario, a normal value is returned if this function is called in a non-PDB, and the default value 0 is returned if this function is called in a PDB. (If a timestamp is used, the timestamp corresponding to 0s is returned.)
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 the statistics counter of the current database to 0 (the SYSADMIN permission is required).
Return type: void
pg_stat_reset_shared(text)
Description: Resets the statistics counter of the current database on each node in a shared cluster to 0 (the SYSADMIN permission is required).
Return type: void
pg_stat_reset_single_table_counters(oid)
Description: Resets the statistics counter of a specified table or index in the current database to 0 (the SYSADMIN permission is required).
Return type: void
pg_stat_reset_single_function_counters(oid)
Description: Resets the statistics counter of a specified function in the current database to 0 (the SYSADMIN permission is required).
Return type: void
fenced_udf_process(integer)
Description: Shows 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
mot_global_memory_detail()
Description: Checks the size of the MOT global memory, including data and indexes.
Return type: record
mot_local_memory_detail()
Description: Checks the size of the MOT local memory, including data and indexes.
Return type: record
mot_session_memory_detail()
Description: Checks the MOT memory usage of all sessions.
Return type: record
total_memory()
Description: Obtains the size of the virtual memory used by the current node, in KB.
Return type: bigint
GS_ALL_NODEGROUP_CONTROL_GROUP_INFO(text)
1
|
SELECT * FROM GS_ALL_NODEGROUP_CONTROL_GROUP_INFO('installation') |
Return type: record
The following table describes return columns.
Name |
Type |
Description |
---|---|---|
name |
text |
Cgroup name. |
type |
text |
Cgroup type. |
gid |
bigint |
Cgroup ID. |
classgid |
bigint |
ID of the class Cgroup where a workload Cgroup belongs. |
class |
text |
Class Cgroup. |
workload |
text |
Workload Cgroup. |
shares |
bigint |
CPU quota allocated to a Cgroup. |
limits |
bigint |
Limit of CPU resources allocated to a Cgroup. |
wdlevel |
bigint |
Workload Cgroup level. |
cpucores |
text |
Information about the CPU cores used by a Cgroup. |
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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
Example:
SELECT * FROM pg_stat_bad_block();
pg_stat_bad_block_clear()
Description: Deletes the page damage information that is read and recorded on the node (the SYSADMIN permission is required). In the multi-tenancy scenario, this function runs properly if it is called in a non-PDB, and an error is reported if it is called in a PDB.
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_prepared_statements()
Description: Displays all available prepared statements of all sessions. Only users with the SYSADMIN permission can execute this function. The columns returned by this function are the same as those in GS_ALL_PREPARED_STATEMENTS. In the multi-tenancy scenario, PDB information is returned only to its own PDB, and global information is returned to a non-PDB.
Return type: record
gs_all_control_group_info()
Description: Collects information about all Cgroups in the database.
Return type: record
gs_get_control_group_info()
Description: Collects information about all Cgroups. For details about the columns returned by the function, see GS_GET_CONTROL_GROUP_INFO. Only users with the SYSADMIN permission can execute this function.
Return type: record
gs_get_session_sql_memory()
Description: Views the memory usage of currently running statements. For details about the columns returned by the function, see SESSION_SQL_MEMORY.
Return type: record
gs_blackbox_dump()
Description: Exports black box files from the system to the $GAUSSLOG/gs_blackbox/{nodename} directory. If the command is successfully executed, the black box file names generated in the $GAUSSLOG/gs_blackbox/{nodename} directory is returned.
Return type: text
gs_blackbox_show(blackBoxFile cstring)
Description: Parses black box files and displays them in a table.
The following lists related parameters.
Parameter |
Description |
Value Range |
---|---|---|
blackBoxFile |
The black box files to be parsed. If no parameter is specified, the black box files collected by the current process are displayed. |
The value is a string or is not specified. If a valid black box file name is specified, the file with the specified name in the $GAUSSLOG/gs_blackbox/nodename directory is read. Only the file name is supported. An error is reported if the file with the specified name does not exist in the $GAUSSLOG/gs_blackbox/nodename directory. |
Return type: SETOF record
The following table describes return values.
Return Value |
Return Type |
Return values |
---|---|---|
type |
text |
Black box field type. |
tid |
bigint |
Thread ID. |
sample_time |
timestamp |
Collection time. |
value |
text |
Content recorded in the black box. |
The following table describes query results.
type |
tid |
sample_time |
value |
---|---|---|---|
ERRNUMBER |
123456 |
2024-03-19 09:33:17.386 |
19460 |
BLACK_BOX_PLSQL_EXCEPTION |
45678 |
2024-03-19 09:33:18.396 |
message: "Dropped rowtype entry for non-dropped column when make tuple." funcname: basic_make_tuple_from_row filename:pl_exec.cpp context:xxxx |
gs_blackbox_list()
Description: Lists black box files in the black box directory of the current instance. The default directory is $GAUSSLOG/gs_blackbox/{nodename}.
Return type: SETOF record
The following table describes return values.
Return Value |
Return Type |
Return values |
---|---|---|
file |
text |
Name of the black box file. |
gs_plan_trace_delete(TIMESTAMPTZ)
Description: Deletes all plan traces earlier than or equal to max_time for the current user. All users can use this function, and as long as no exception occurs during the execution of this function, this function returns t.
Return type: Boolean
gs_plan_trace_watch_sqlid(bigint)
Description: Listens to a unique SQL ID for which plan traces are to be generated. The ID is obtained from the unique_sql_id column in the dbe_perf.statement system catalog. In addition, this function can be called only by the initial user and users with the SYSADMIN, OPRADMIN, or MONADMIN permission. If no exception occurs during the execution of this function, t is returned.
Return type: Boolean

- In the database system, the unique SQL ID that is listened to is stored in a cyclic array whose length is 128. If the function is called too frequently, the unique SQL ID that is listened to but does not generate a plan trace may be overwritten.
- If a unique SQL ID is listened only once, only one plan trace can be generated for the unique SQL ID. If the same unique SQL ID is listened for multiple times, multiple plan traces are generated for the unique SQL ID.
gs_plan_trace_show_sqlids()
Description: Queries the list of unique SQL IDs for which plan traces are to be generated in the current system. This function can be called only by the initial user and users with the SYSADMIN, OPRADMIN, or MONADMIN permission.
Return type: text

- If there are two unique SQ IDs 730834934 and 730834935 for which plan traces are to be generated in the system, the result of using this function is a character string text "730834934,730834935,".
- When this function is used, the unique SQL ID that is generating the plan trace cannot be viewed.
gs_standby_read_delay()
Description: Obtains the time difference when the logs generated by transactions on the primary node are replayed on the standby node. When a transaction is committed or rolled back on the primary node, the timestamp is added to the corresponding log. When the standby node replays such logs, the current system time minus the time recorded in the log is used to obtain the replay delay, that is, the synchronization delay.
Return type: bigint
get_instr_workload_info(integer)
Description: Obtains the transaction volume and time information on the primary database node. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
Attribute |
Value |
Description |
---|---|---|
resourcepool_oid |
10 |
OID of the resource pool (the logic is equivalent to the load). |
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 backend transactions that were committed. |
bg_rollback_counter |
0 |
Number of backend transactions that were rolled back. |
bg_resp_min |
97 |
Minimum response time of backend transactions (unit: μs). |
bg_resp_max |
678080687 |
Maximum response time of backend transactions (unit: μs). |
bg_resp_avg |
327847884 |
Average response time of backend transactions (unit: μs). |
bg_resp_total |
298341575300 |
Total response time of backend transactions (unit: μs). |
dbid |
oid |
Database ID. |
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 on query rewriting (unit: μs). |
PL_EXECUTION_TIME |
0 |
Total time consumed for executing PL/SQL 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 network (unit: μs). |
DATA_IO_TIME |
426622 |
Total time consumed for data read and write (unit: μs). |
DBE_PERF.get_global_instance_time()
Description: Provides the time consumed in each key phase in the entire databaseopenGauss. To query this function, you must have the MONADMIN permission.
Return type: record
get_instr_unique_sql()
Description: Obtains information about execution statements (normalized SQL statements) on the current node as a user with the MONADMIN permission. For details about the columns returned by the function, see STATEMENT. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
reset_unique_sql(text, text, bigint)
Description: Clears the unique SQL statements in the memory of the database node. (The SYSADMIN or MONADMIN permission is required.) In the multi-tenancy scenario, only PDB data is cleared if this function is called in a PDB, and global data is cleared if this function is called in a non-PDB.
Return type: Boolean
Parameter |
Type |
Description |
---|---|---|
scope |
text |
Clearance scope type. The options are as follows: 'GLOBAL': Clears all CNs/DNs. If the value is 'GLOBAL', this function can be executed only on the CN. 'LOCAL': Clears the current node. |
clean_type |
text |
'BY_USERID': Clears unique SQL statements based on user IDs. This option is disabled in the multi-tenancy scenario. 'BY_CNID': Clears unique SQL statements based on CN IDs. 'ALL': Clears all data. |
clean_value |
int8 |
Clearance value corresponding to the clearance type. If the second parameter is set to ALL, the third parameter does not take effect and can be set to any value. |

This function involves distributed nodes. Currently, GaussDB is a centralized database, for which the function of the value global is the same as that of the value local and the second parameter cannot set to be BY_CNID.
get_instr_wait_event(NULL)
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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
get_instr_rt_percentile(integer)
Description: Obtains the distribution information about the response time of 80% and 95% SQL statements of the database. The distribution information about the response time of 80% and 95% SQL statements of the current PDB is returned if this function is executed in the PDB.
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
DBE_PERF.get_global_os_runtime()
Description: Displays the running status of the current OS. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_os_threads()
Description: Provides information about the threads under all normal nodes of the entire database. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_summary_workload_sql_count()
Description: Provides statistics about the number of SELECT, UPDATE, INSERT, DELETE, DDL, DML, and DCL statements of different service loads in the entire database. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_summary_workload_sql_elapse_time()
Description: Provides statistics about the number of SELECT, UPDATE, INSERT, and DELETE statements and response time information (TOTAL, AVG, MIN, and MAX) for different loads in the entire database. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_global_workload_transaction()
Description: Obtains the transaction volume and time information on all nodes of the database. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_global_session_stat()
Description: Obtains the session status information on all nodes of the database. To query this function, you must have the MONADMIN permission.
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 of each node in the entire database. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_session_memory()
Description: Displays statistics about 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. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_session_memory_detail()
Description: Displays statistics about thread memory usage on each node by MemoryContext node. To query this function, you must have the MONADMIN permission.
Return type: record
gs_paxos_stat_replication()
Description: Queries the standby node information on the primary node.
Return type: SETOF record
The following table describes return columns.
Column |
Type |
Description |
---|---|---|
local_role |
text |
Role of the sender node. |
peer_role |
text |
Role of the receiver node. |
local_dcf_role |
text |
DCF role of the sender node. |
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 sender node is written. |
sender_commit_location |
text |
Barrier reached for the DCF logs of the sender node. |
sender_flush_location |
text |
Location in the Xlog disk where the sender node 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 |
Barrier 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. |
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. An empty value is returned if this function is called in the multi-tenancy scenario.
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. This function is disabled in the multi-tenancy scenario.
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. This function is disabled in the multi-tenancy scenario.
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. This function is disabled in the multi-tenancy scenario.
Return type: record
gs_io_wait_status()
Description: This API does not support single-node systems or centralized systems and is unavailable currently.
global_stat_get_hotkeys_info()
Description: Obtains the statistics on hot keys in the entire database instance. This API does not support single-node systems or centralized systems and is unavailable currently.
global_stat_clean_hotkeys()
Description: Clears statistics on hot keys in the entire database instance. This API does not support single-node systems or centralized systems and is unavailable currently.
DBE_PERF.get_global_session_stat_activity()
Description: Displays information about threads that are running on each node in the database. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_global_thread_wait_status()
Description: Displays the blocking status of backend threads and auxiliary threads on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_operator_history_table()
Description: Displays the operator-related records (persistent) generated after jobs are executed on the primary database node of the current user. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_operator_history()
Description: Displays the operator-related records generated after jobs are executed on the primary database node of the current user. To query this function, you must have the SYSADMIN or MONADMIN permission.
Return type: record
DBE_PERF.get_global_operator_runtime()
Description: Displays real-time operator-related records of jobs executed on the primary database node of the current user. To query this function, you must have the SYSADMIN or MONADMIN permission.
Return type: record
DBE_PERF.get_global_statement_complex_history()
Description: Displays the historical records of complex queries on the primary database node of the current user. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statement_complex_history_table()
Description: Displays the historical records (persistent) of complex queries on the primary database node of the current user. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statement_complex_runtime()
Description: Displays the real-time information of complex queries on the primary database node of the current user. To query this function, you must have the SYSADMIN or MONADMIN permission.
Return type: record
DBE_PERF.get_global_memory_node_detail()
Description: Displays the memory usage of a certain database on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_shared_memory_detail()
Description: Displays the usage information about all the shared memory contexts of all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_all_indexes()
Description: Displays statistics about each index displayed in a row in the current database, showing I/O statistics about accesses to that specific index. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_all_tables()
Description: Displays statistics about a row in each table (including the TOAST table) in the aggregated data of each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_all_tables()
Description: Displays statistics about a row in each table (including the TOAST table) of data on each node. To query this function, you must have the MONADMIN permission.
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 joined table. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_statio_all_indexes()
Description: Collects statistics about each index displayed in a row in the current databases of all nodes and displays the I/O statistics of a specific index. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_all_sequences()
Description: Provides the I/O status information about all sequences in the namespace. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_all_tables()
Description: Displays the I/O statistics about each table in databases on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_statio_all_tables()
Description: Collects the I/O statistics about each table in the database. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_local_toast_relation()
Description: Provides the mapping between the name of the local TOAST table and its joined table. After a cluster is created, you must have the MONADMIN permission by default to query this function.
Return type: record
DBE_PERF.get_global_statio_sys_indexes()
Description: Displays the I/O status information about all system catalog indexes in namespaces on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_statio_sys_indexes()
Description: Collects the I/O status information about all system catalog indexes in namespaces on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_sys_sequences()
Description: Provides the I/O status information about all the system sequences in the namespace. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_sys_tables()
Description: Provides the I/O status information about all system catalogs in namespaces on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_statio_sys_tables()
Description: Displays the I/O status information of all system catalogs in the namespace in the database. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_user_indexes()
Description: Displays the I/O status information about all user relationship table indexes in namespaces on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_statio_user_indexes()
Description: Displays the I/O status information about all user relationship table indexes in namespaces in the database. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_user_sequences()
Description: Displays the I/O status information about all user sequences in the namespace of each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_statio_user_tables()
Description: Displays the I/O status information about all user relationship tables in namespaces on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_statio_user_tables()
Description: Displays the I/O status information about all user relationship tables in namespaces in the database. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_all_indexes()
Description: Displays statistics of each index in databases on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_all_indexes()
Description: Collects statistics of each index in all databases on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_sys_tables()
Description: Displays statistics about the system catalogs of all the namespaces in pg_catalog and information_schema schemas on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_sys_tables()
Description: Collects statistics about the system catalogs of all the namespaces in pg_catalog and information_schema schemas on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_sys_indexes()
Description: Displays index status information about all the system catalogs in the pg_catalog and information_schema schemas on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_sys_indexes()
Description: Collects statistics about index status information about all the system catalogs in the pg_catalog and information_schema schemas on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_user_tables()
Description: Displays the status information about customized ordinary tables in all namespaces. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_user_tables()
Description: Collects statistics about the status information about customized ordinary tables in all namespaces. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_user_indexes()
Description: Displays the status information about the index of customized ordinary tables in all databases. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_user_indexes()
Description: Collects statistics about the status information about the index of customized ordinary tables in all databases. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_database()
Description: Displays database statistics of all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_database_conflicts()
Description: Collects statistics on the database of all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_xact_all_tables()
Description: Displays transaction status information about all ordinary tables and TOAST tables in all namespaces. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_xact_all_tables()
Description: Collects statistics about transaction status information about all ordinary tables and TOAST tables in all namespaces. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_xact_sys_tables()
Description: Displays transaction status information about all system catalogs in namespaces on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_xact_sys_tables()
Description: Collects statistics about transaction status information about all system catalogs in namespaces on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_xact_user_tables()
Description: Displays the transaction status information of the user tables in the namespaces on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_stat_xact_user_tables()
Description: Collects statistics about the transaction status information of the user tables in the namespaces on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_user_functions()
Description: Displays the transaction status information of user-defined functions in the namespaces on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_xact_user_functions()
Description: Collects statistics about the transaction status information of user-defined functions in the namespaces on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_stat_bad_block()
Description: Displays information about table and index read failures on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_file_redo_iostat()
Description: Collects statistics on information about table and index read failures on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_file_iostat()
Description: Displays statistics about data file I/Os on all nodes. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB. The I/O statistics queried through this function in the PDB are not persisted and are cleared after the database is restarted.
Return type: record
DBE_PERF.get_global_locks()
Description: Displays lock information of all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_replication_slots()
Description: Displays logical replication information on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.GET_GLOBAL_PARALLEL_DECODE_STATUS()
Description: Displays parallel decoding information of replication slots on the current node. To query this function, you must have the MONADMIN permission. The return 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 parallel decoding thread information of replication slots on the current node. To query this function, you must have the MONADMIN permission. The return value is the same as that of the view GLOBAL_PARALLEL_DECODE_THREAD_INFO.
Return type: record
DBE_PERF.get_global_bgwriter_stat()
Description: Displays statistics about the background writer thread's activities on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_replication_stat()
Description: Displays information about log synchronization status on each node, such as the locations where the sender sends logs and where the receiver receives logs. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB. Currently, PDB-level log synchronization is not supported. Therefore, an empty list is returned.
Return type: record
DBE_PERF.get_global_transactions_running_xacts()
Description: Displays information about running transactions on each node. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_summary_transactions_running_xacts()
Description: Collects statistics of information about running transactions on each node. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_global_transactions_prepared_xacts()
Description: Displays information about transactions that are currently prepared for two-phase commit on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_transactions_prepared_xacts()
Description: Collects statistics information about transactions that are currently prepared for two-phase commit on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_summary_statement()
Description: Displays the status information of the historically executed statements on each node. To query this function, you must have the MONADMIN permission. For details about the columns returned by the function, see SUMMARY_STATEMENT. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_global_statement_count()
Description: Displays the number of SELECT, UPDATE, INSERT, and DELETE statements and response time information (TOTAL, AVG, MIN, and MAX) on each node. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
DBE_PERF.get_global_config_settings()
Description: Displays GUC parameter configuration information on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_global_wait_events()
Description: Displays the wait event status information on each node. To query this function, you must have the MONADMIN permission.
Return type: record
DBE_PERF.get_statement_responsetime_percentile()
Description: Obtains the distribution information about the response time of 80% and 95% SQL statements of the database. To query this function, you must have the MONADMIN permission. The information about the current PDB is returned if this function is queried in the PDB.
Return type: record
DBE_PERF.get_summary_user_login()
Description: Collects statistics about number of user login and logout times on each node in the database. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the information about the current PDB is returned if this function is queried in the PDB.
Return type: record
DBE_PERF.get_global_record_reset_time()
Description: Displays the statistics about reset (restart, primary/standby switchover, and database deletion) time of the database. To query this function, you must have the MONADMIN permission.
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 about the columns returned by the function, see STATEMENT_HISTORY.
Parameters: See Table 9.
Return type: record
Parameter |
Type |
Description |
---|---|---|
only_slow |
Boolean |
Specifies whether to query only slow SQL statements.
|
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. An error is reported during function execution if time1 is greater than or equal to time2. |

- 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 stored asynchronously. Therefore, the storage of user SQL information may be delayed. You are advised to query this API to expand the query time range.
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: Records statistics about data file I/Os to indicate I/O performance and detect performance problems such as abnormal I/O operations. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB. The I/O statistics queried through this function in the PDB are not persisted and are cleared after the database is restarted.
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 blocking status about the backend thread and auxiliary thread of the current instance. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
Return type: record
get_local_rel_iostat()
Description: Queries the accumulated I/O status of data files on the current node. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB. The I/O statistics queried through this function in the PDB are persistent. After the database is restarted, the I/O statistics are not cleared and are accumulated continuously.
Return type: record
DBE_PERF.get_global_rel_iostat()
Description: Displays statistics about data file I/Os on all nodes. To query this function, you must have the MONADMIN permission. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB. The I/O statistics queried through this function in the PDB are persistent. After the database is restarted, the I/O statistics are not cleared and are accumulated continuously.
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 columns returned by the function, see GLOBAL_THREADPOOL_STATUS. To query the function, you must have the MONADMIN permission.
In the multi-tenancy scenario, global data is visible in a non-PDB. On a primary node, PDB data is visible in its own PDB. Thread group isolation is not performed on a standby node, and no data is returned when data is queried in a PDB.
Return type: record
pv_os_run_info()
Description: Displays the running status of the current OS. For details about the columns, see GS_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 GS_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 GS_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 their creation reason and are not affected by the log_temp_files setting. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
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 their creation reason (such as sorting or hashing) and are not affected by the log_temp_files setting. In the multi-tenancy scenario, PDB data can be queried only in its own PDB.
Parameter: oid
Return type: bigint
remote_candidate_stat()
Description: Displays the checkpoint information and log flushing information about all instances in the database (except the current node). Centralized systems are not supported.
Return type: record
remote_ckpt_stat()
Description: Displays the checkpoint information and log flushing information about all instances in the database (except the current node). Centralized systems are not supported.
Return type: record
remote_single_flush_dw_stat()
Description: Displays the single-page doublewrite file status of all instances in the database (except the current node). Centralized systems are not supported.
Return type: record
remote_double_write_stat()
Description: Displays doublewrite file status of all instances in the database (except the current node). Centralized systems are not supported.
Return type: record
remote_pagewriter_stat()
Description: Displays the page flushing information and checkpoint information about all instances in the database (except the current node). Centralized systems are not supported.
Return type: record
remote_recovery_status()
Description: Displays log flow control information about the primary and standby nodes (except the current node). Centralized systems are not supported.
Return type: record
remote_redo_stat()
Description: Displays the log replay status of all instances in the database (except the current node). Centralized systems are not supported.
Return type: record
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. To query this function, you must have the MONADMIN permission.
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 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. |
query_id |
bigint |
ID of a query. |
gs_wlm_user_resource_info(name text)
Description: Queries a user's resource quota and resource usage. Common users can query only their own information. Administrators can query information about all users.
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.
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).
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.
|
gs_get_shared_memctx_detail(text)
Description: Returns the memory allocation details of the specified memory context, including the file, line number, and size of each memory allocation (the size of the same line in the same file is accumulated). Only the memory context queried through the GS_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 GS_SHARED_MEMORY_DETAIL). To query this function, you must have the SYSADMIN or MONADMIN permission. In the multi-tenancy scenario, all information is returned if this function is called in a non-PDB, and an empty list is returned if this function is called in a PDB.
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 applied memory. The value is accumulated if the memory is applied for multiple times in the same line of the same file. |
gs_get_session_memctx_detail(text)
Description: Returns the memory allocation details of the specified memory context, including the file, line number, and size of each memory allocation (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 GS_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 GS_SESSION_MEMORY_CONTEXT). To query this function, you must have the SYSADMIN or MONADMIN permission. In the multi-tenancy scenario, all information is returned if this function is called in a non-PDB, and an empty list is returned if this function is called in a PDB.
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.
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.
- If the value of the input parameter is NULL, the list of all memory snapshot log files on the current node is displayed.
- 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.
- 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_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:
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) |
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(duration integer[, freq integer])
Description: Collects the stack call data of the on-CPU flame graph of each thread on the current node. The function returns the storage path of the flame graph. 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 |
(Optional) Stack collection frequency, in Hz. The default value is 100. If a floating-point number is entered, the first digit after the decimal point is rounded off. |
integer |
10–1000 |
Return type: text
Example:
1 2 3 4 5 6 7 8 |
gaussdb=# SELECT gs_perf_start(10,100); gs_perf_start ------------------------------------------------------------------------------------ Successfully collected perf flamegraph data, the result filepaths are : + $GAUSSLOG/gs_flamegraph/dn_6001/flamegraph-manual-oncpu-2025-02-28_175628.html.gz;+ Record 29427 cpu clock samples. + (1 row) |

Before executing this function and the following gs_perf_start_offcpu(), gs_perf_start_all(), and gs_perf_start_detail() functions, ensure that gs_perf_service is running properly. During data collection, gs_perf_service 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 perform the collection again.
gs_perf_start_offcpu(duration integer)
Description: Collects the stack call data of the off-CPU flame graph of each thread on the current node. The function returns the storage path of the flame graph. 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 milliseconds. If a floating-point number is entered, the first digit after the decimal point is rounded off. |
integer |
50~3000 |
Return type: text
Example:
1 2 3 4 5 6 7 8 |
gaussdb=# SELECT gs_perf_start_offcpu(2000); gs_perf_start_offcpu ------------------------------------------------------------------------------------- Successfully collected perf flamegraph data, the result filepaths are : + $GAUSSLOG/gs_flamegraph/dn_6001/flamegraph-manual-offcpu-2025-02-28_175828.html.gz;+ Record 482670 sched switch samples. + (1 row) |
gs_perf_start_detail(duration integer[, freq integer])
Description: Collects the on-CPU and off-CPU call stack details of all threads on all CPU cores on the host where the current node is located. The function returns the address of the compressed file of multi-core and multi-thread raw data. Each time this command is executed, the historical multi-core and multi-thread data is deleted. 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 milliseconds. If a floating-point number is entered, the first digit after the decimal point is rounded off. |
integer |
50~3000 |
freq |
(Optional) Stack collection frequency, in Hz. The default value is 100. If a floating-point number is entered, the first digit after the decimal point is rounded off. |
integer |
10–1000 |
Return type: text
Example:
1 2 3 4 5 6 7 8 9 |
gaussdb=# SELECT gs_perf_start_detail(2000); gs_perf_start_detail --------------------------------------------------------------------------------------------------- Successfully collected perf detail data, the result filepath is : + $GAUSSLOG/gs_flamegraph/dn_6001/detail-2025-03-03_100929.lz4 + Please save the file locally, otherwise the file will be deleted during the next data collection.+ Record 1965659 samples. + (1 row) |
gs_perf_start_all(duration integer[, freq integer])
Description: Collects the stack call data of the on-CPU and off-CPU flame graphs on all nodes of the host where the current node is located. The function returns the storage path of the flame graph files generated on all nodes. 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 milliseconds. If a floating-point number is entered, the first digit after the decimal point is rounded off. |
integer |
50~3000 |
freq |
(Optional) Stack collection frequency, in Hz. The default value is 100. If a floating-point number is entered, the first digit after the decimal point is rounded off. |
integer |
10–1000 |
Return type: text
Example:
1 2 3 4 5 6 7 8 9 10 11 |
gaussdb=# SELECT gs_perf_start_all(1000,100); gs_perf_start_all --------------------------------------------------------------------------------------------------------- Successfully collected perf flamegraph data, the result filepaths are : + $GAUSSLOG/gs_flamegraph/{nodename}/flamegraph-manual-oncpu-2025-03-03_101036.html.gz; + $GAUSSLOG/gs_flamegraph/{nodename}/flamegraph-manual-offcpu-2025-03-03_101036.html.gz; + Please visit gs_flamegraph directory(all nodes of current machine) to get results for individual nodes.+ Record 11289 cpu clock samples. + Record 3293 sched switch samples. + (1 row) |
gs_perf_list()
Description: Views the collected on-CPU and off-CPU flame graph data saved on the current node. The multi-core and multi-thread flame graph records are not displayed.
Parameter: nan
Return type: SETOF record
The following table describes the fields returned by the function.
Name |
Type |
Description |
---|---|---|
nodename |
text |
Name of a collection node. |
filename |
text |
Name of the file that stores the collected data. |
collect_type |
text |
Collection type. |
Example:
1 2 3 4 5 6 7 8 9 10 11 12 |
gaussdb=# SELECT * FROM gs_perf_list() limit 10; nodename | filename | collect_type ----------+--------------------------------------------------------+-------------- dn_6001 | flamegraph-manual-offcpu-2025-03-02_154210.html.gz | manual dn_6001 | flamegraph-manual-oncpu-2025-03-02_154311.html.gz | manual dn_6001 | flamegraph-auto-oncpu-2025-03-02_154312.html.gz | auto dn_6001 | flamegraph-auto-offcpu-2025-03-02_154315.html.gz | auto dn_6001 | flamegraph-auto-oncpu-2025-03-02_154801.html.gz | auto dn_6001 | flamegraph-auto-offcpu-2025-03-02_154801.html.gz | auto dn_6001 | flamegraph-auto-oncpu-2025-03-02_155301.html.gz | auto dn_6001 | flamegraph-auto-offcpu-2025-03-02_155302.html.gz | auto (8 rows) |
gs_perf_query([filename text])
Description: Queries the historical on-CPU and off-CPU flame graph stack call data. The function collects the function call stacks of each thread, sums up the function running time, and returns the collection result. To query this function, you must have the SYSADMIN or MONADMIN permission.
The parameters are described as follows.
Parameter |
Description |
Type |
---|---|---|
filename |
Name of a historically collected file. This parameter is optional. The default value is the latest manually collected flame graph. |
text |
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:
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_query_general([filename text])
Description: Queries the percentage of functions called by stacks in the historical on-CPU and off-CPU flame graphs. The sum of the percentages may not be 1 due to calculation precision. To query this function, you must have the SYSADMIN or MONADMIN permission.
The parameters are described as follows.
Parameter |
Description |
Type |
---|---|---|
filename |
Name of a historically collected file. This parameter is optional. The default value is the latest manually collected flame graph. |
text |
Return type: SETOF record
The following table describes the fields returned by the function.
Name |
Type |
Description |
---|---|---|
function_name |
text |
Stack function name. |
percentage |
float |
Percentage of stack function calls. |
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
gaussdb=# SELECT * FROM gs_perf_query_general(); function_name | percentage -------------------------------+------------ pthread_mutex_lock | 28.57 do_select | 7.17 undopage::init_undo_zone_lock | 7.14 unknown | 7.14 undo::recycle_main | 7.14 undo::is_valid_zone_id | 7.14 __vdso_gettimeofday | 7.14 hrtimer_start_range_ns | 7.14 undo::get_zone_id | 7.14 __pthread_mutex_unlock | 7.14 gs_stat_encap_status_info | 7.14 (11 rows) |
gs_perf_query_detail([filename text])
Description: Queries the stack function call percentage and call stack details of the historical on-CPU and off-CPU flame graphs. The sum of the percentages may not be 1 due to calculation precision. To query this function, you must have the SYSADMIN or MONADMIN permission.
The parameters are described as follows.
Parameter |
Description |
Type |
---|---|---|
filename |
Name of a historically collected file. This parameter is optional. The default value is the latest manually collected flame graph. |
text |
Return type: SETOF record
The following table describes the fields returned by the function.
Name |
Type |
Description |
---|---|---|
function_name |
text |
Stack function name. |
percentage |
float |
Percentage of stack function calls. |
function_callstack |
text |
Stack function call stack. |
function_callstack_percentage |
float |
Percentage of stack function call stacks. |
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
testdb3=# SELECT * FROM gs_perf_query_detail(); function_name | percentage | function_callstack | function_callstack_percentage --------------------------+------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------- pthread_mutex_lock | 30 | TrackStmtWorker->unknown->internal_thread_func->int gauss_db_other_feature_thread_main->pthread_mutex_lock | 30 stmt_flush_main | 20 | TrackStmtWorker->unknown->internal_thread_func->int gauss_db_other_feature_thread_main->stmt_flush_main | 20 finish_task_switch | 20 | AntiRecycler->unknown->internal_thread_func->int gauss_db_storage_thread_main->anti_recycler_main->anti_tab_recycle_loop->__select ->[enter kernel]->system_call_fastpath->SyS_select->core_ sys_select->do_select->poll_schedule_timeout->schedule_hrtimeout_range->schedule_hrtimeout_range_clock->schedule->__schedule->finish_task_switch | 10 finish_task_switch | 20 | vlogwriter->unknown->internal_thread_func->int gauss_db_storage_thread_main->verifylogwriter_main->__select ->[enter kernel]->system_call_fastpath->SyS_select->core_sys_select->do_select-> poll_schedule_timeout->schedule_hrtimeout_range->schedule_hrtimeout_range_clock->schedule->__schedule->finish_task_switch | 10 system_call_after_swapgs | 10 | WALwriter->semctl ->[enter kernel]->system_call_after_swapgs | 10 lwlock_release | 10 | AntiRecycler->unknown->internal_thread_func->int gauss_db_storage_thread_main->anti_recycler_main->anti_tab_recycle_loop->lwlock_release | 10 __select | 10 | AntiRecycler->unknown->internal_thread_func->int gauss_db_storage_thread_main->anti_recycler_main->anti_tab_recycle_loop->__select | 10 (7 rows) |
gs_get_thread_memctx_detail(tid,text)
Description: Returns the memory allocation details of the specified memory context, including the file, line number, and size of each memory allocation (the size of the same line in the same file is accumulated). Only the memory context queried through the GS_THREAD_MEMORY_CONTEXT view can be queried. The first input parameter is the thread ID (the tid column of the data returned by GS_THREAD_MEMORY_CONTEXT), and the second parameter is the memory context name (the contextname column of the data returned by GS_THREAD_MEMORY_CONTEXT). To query this function, you must have the SYSADMIN or MONADMIN permission. In the multi-tenancy scenario, all information is returned if this function is called in a non-PDB, and an empty list is returned if this function is called in a PDB.
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. |
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, obtained by a reverse DNS lookup based on 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 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. |
stmt_elapse_time |
int |
Time elapsed since the query starts. |
stmt_control_status |
varchar |
Current statement state.
|
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.
|
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. This operation requires the SYSADMIN or MONADMIN permission. Only the data of the local PDB is returned in the PDB, and the global data is returned in the non-PDB.
Parameter: sessionid, indicating a 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. This operation requires the SYSADMIN or MONADMIN permission. In the multi-tenancy scenario, PDB data is returned to its own PDB, and global data is returned to a non-PDB.
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. The log pre-parsing thread is typically started by the CM component when the HA replication link of the standby DN is disconnected. If the log pre-parsing thread has been started, you can call this function to query the latest pre-parsing status. If the thread has not been started, this function returns the default value.
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. |
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)
The following is an example of the query result when the log pre-parsing thread has not been started:
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 ----------------+------------------------+------------------------+--------------------------+------------------------+-----------------------+-----------------+---------- 0 | 2000-01-01 08:00:00+08 | 2000-01-01 08:00:00+08 | 00000000/00000000 | 00000000/00000000 | 0 | 0 | f (1 row)
gs_wlm_respool_cpu_info()
Description: Displays the limit and usage of CPU resources in a resource pool. This function is disabled in the multi-tenancy scenario.
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. |
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. This function is disabled in the multi-tenancy scenario.
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. |
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. This function is disabled in the multi-tenancy scenario.
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 |
This function is unavailable and is reserved for future evolution. This column is reserved and the value is 0. |

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 | 0 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. This function is disabled in the multi-tenancy scenario.
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. This function is disabled in the multi-tenancy scenario.
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. Row-store: The unit is determined by GUC parameter io_control_unit, which is used to count the number of I/Os during I/O control. If the value of io_control_unit is 1, it indicates 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. This function is disabled in the multi-tenancy scenario.
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-level data 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. |
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. This function is disabled in the multi-tenancy scenario.
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. Row-store: The unit is determined by GUC parameter io_control_unit, which is used to count the number of I/Os during I/O control. If the value of io_control_unit is 1, it indicates 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. In the multi-tenancy scenario, PDB data is returned to its own PDB, and global data is returned to a non-PDB.
Return type: SETOF record
Name |
Type |
Description |
---|---|---|
session_id |
integer |
Session ID. |
sess_used_dynamic_memory |
bigint |
Used dynamic memory. |
sess_max_dynamic_memory |
bigint |
Maximum dynamic memory that can be used. |
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) |
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 on a 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)
Parameter: dbid(oid), indicating the OID of a database.
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. |
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. In the multi-tenancy scenario, the global information is returned if this function is called in a non-PDB, and only the information about a local PDB is returned if this function is called in a PDB.
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. |
gaussdb=# SELECT * FROM gs_display_delay_ddl_info();
type | lsn | tablespace | database | relation | bucketid | opt | forknum
------+-----+------------+----------+----------+----------+-----+---------
(0 rows)
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot