Statistics Information Functions
Statistics information functions are divided into the following two categories: functions that access databases, using the OID of each table or index in a database to mark the database for which statistics are generated; functions that access servers, identified by the server thread ID, whose value ranges from 1 to the number of currently active servers.
- pg_stat_get_db_conflict_tablespace(oid)
Description: Specifies the number of queries canceled due to a conflict between the restored tablespace and the deleted tablespace in the database.
Return type: bigint
- pg_control_group_config()
Description: Prints Cgroup configurations on the current node. Only users with the SYSADMIN permission can execute this function.
Return type: record
- pg_stat_get_db_stat_reset_time(oid)
Description: Specifies the most recent time when database statistics were reset. It is initialized to the system time during the first connection to each database. The reset time is updated when you call pg_stat_reset on the database and execute pg_stat_reset_single_table_counters against any table or index in it.
Return type: timestamptz
- pg_stat_get_function_total_time(oid)
Description: Specifies the total wall clock time spent in the function, in microseconds. The time spent on this function calling other functions is included.
Return type: bigint
- pg_stat_get_xact_tuples_returned(oid)
Description: Specifies the number of rows read through sequential scans when the parameter is a table in the current transaction or the number of index entries returned when the parameter is an index.
Return type: bigint
- pg_lock_status()
Description: Queries information about locks held by open transactions. All users can execute this function.
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: setofrecord
- 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.
Return type: setofrecord
The following table describes return columns.
Table 1 Return column description Column
Type
Description
pid
bigint
Thread ID of the WAL sender
sender_pid
integer
Lightweight thread ID of the WAL sender
local_role
text
Type of the primary node
peer_role
text
Type of the standby node
peer_state
text
Status of the standby node
state
text
Status of the WAL sender
catchup_start
timestamp with time zone
Startup time of a catchup task
catchup_end
timestamp with time zone
End time of a catchup task
sender_sent_location
text
Sending position of the primary node
sender_write_location
text
Writing position of the primary node
sender_flush_location
text
Flushing position of the primary node
sender_replay_location
text
Redo position of the primary node
receiver_received_location
text
Receiving position of the standby node
receiver_write_location
text
Writing position of the standby node
receiver_flush_location
text
Flushing position of the standby node
receiver_replay_location
text
Redo position of the standby node
sync_percent
text
Synchronization percentage
sync_state
text
Synchronization status
sync_group
text
Group to which the synchronous replication belongs
sync_priority
text
Priority of synchronous replication
sync_most_available
text
Maximum availability mode
channel
text
Channel information of the WAL sender
- get_paxos_replication_info()
Description: Queries the primary/standby replication status in Paxos mode.
Return type: setofrecord
The following table describes return columns.
Table 2 Return column description Column
Type
Description
paxos_write_location
text
Location of the Xlog that has been written to the Distribute Consensus Framework (DCF)
paxos_commit_location
text
Location of the Xlog agreed in the DCF
local_write_location
text
Writing position of a node
local_flush_location
text
Flushing position of a node
local_replay_location
text
Redo position of a node
dcf_replication_info
text
DCF module information of a node
- pg_stat_get_stream_replications()
Description: Queries the primary/standby replication status.
Return type: setofrecord
The following table describes return values.
Table 3 Return value description Return Parameter
Type
Description
local_role
text
Local role
static_connections
integer
Connection statistics
db_state
text
Database status
detail_information
text
Detailed information
- pg_stat_get_db_numbackends(oid)
Description: Specifies the number of active server threads for a database.
Return type: integer
- pg_stat_get_db_xact_commit(oid)
Description: Specifies the number of transactions committed in a database.
Return type: bigint
- pg_stat_get_db_xact_rollback(oid)
Description: Specifies the number of transactions rolled back in a database.
Return type: bigint
- pg_stat_get_db_blocks_fetched(oid)
Description: Specifies the number of disk blocks fetch requests for a database.
Return type: bigint
- pg_stat_get_db_blocks_hit(oid)
Description: Specifies the number of disk block fetch requests found in cache for a database.
Return type: bigint
- pg_stat_get_db_tuples_returned(oid)
Description: Specifies the number of tuples returned for a database.
Return type: bigint
- pg_stat_get_db_tuples_fetched(oid)
Description: Specifies the number of tuples fetched for a database.
Return type: bigint
- pg_stat_get_db_tuples_inserted(oid)
Description: Specifies the number of tuples inserted in a database.
Return type: bigint
- pg_stat_get_db_tuples_updated(oid)
Description: Specifies the number of tuples updated in a database.
Return type: bigint
- pg_stat_get_db_tuples_deleted(oid)
Description: Specifies the number of tuples deleted in a database.
Return type: bigint
- pg_stat_get_db_conflict_lock(oid)
Description: Specifies the number of lock conflicts in a database.
Return type: bigint
- pg_stat_get_db_deadlocks(oid)
Description: Specifies the number of deadlocks in a database.
Return type: bigint
- pg_stat_get_numscans(oid)
Description: Number of sequential row scans done if parameters are in a table, or the number of index rows if parameters are in an index.
Return type: bigint
- pg_stat_get_role_name(oid)
Description: Obtains the username based on the user OID. Only users with the SYSADMIN and MONADMIN permissions can access the information.
Return type: text
Example:
gaussdb=# SELECT pg_stat_get_role_name(10); pg_stat_get_role_name ----------------------- aabbcc (1 row)
- pg_stat_get_tuples_returned(oid)
Description: Specifies the number of sequential rows read by sequential scans if parameters are in a table, or the number of index rows if parameters are in an index.
Return type: bigint
- pg_stat_get_tuples_fetched(oid)
Description: Specifies the number of table rows fetched by bitmap scans if parameters are in a table, or the number of table rows fetched by simple index scans in the original table if parameters are in an index.
Return type: bigint
- pg_stat_get_tuples_inserted(oid)
Description: Specifies the number of rows inserted into a table.
Return type: bigint
- pg_stat_get_tuples_updated(oid)
Description: Specifies the number of rows updated in a table.
Return type: bigint
- pg_stat_get_tuples_deleted(oid)
Description: Specifies the number of rows deleted from a table.
Return type: bigint
- pg_stat_get_tuples_changed(oid)
Description: Specifies the total number of inserted, updated, and deleted rows after a table was last analyzed or autoanalyzed.
Return type: bigint
- pg_stat_get_tuples_hot_updated(oid)
Description: Specifies the number of rows hot updated in a table.
Return type: bigint
- pg_stat_get_live_tuples(oid)
Description: Specifies the number of live rows in a table.
Return type: bigint
- pg_stat_get_dead_tuples(oid)
Description: Specifies the number of dead rows in a table.
Return type: bigint
- pg_stat_get_blocks_fetched(oid)
Description: Specifies the number of disk block fetch requests for a table or an index.
Return type: bigint
- pg_stat_get_blocks_hit(oid)
Description: Specifies the number of disk block requests found in cache for a table or an index.
Return type: bigint
- pg_stat_get_xact_tuples_fetched(oid)
Description: Specifies the number of tuple rows scanned in a transaction.
Return type: bigint
- pg_stat_get_xact_tuples_inserted(oid)
Description: Specifies the number of tuple inserted into the active subtransactions related to a table.
Return type: bigint
- pg_stat_get_xact_tuples_deleted(oid)
Description: Specifies the number of deleted tuples in the active subtransactions related to a table.
Return type: bigint
- pg_stat_get_xact_tuples_hot_updated(oid)
Description: Specifies the number of hot updated tuples in the active subtransactions related to a table.
Return type: bigint
- pg_stat_get_xact_tuples_updated(oid)
Description: Specifies the number of updated tuples in the active subtransactions related to a table.
Return type: bigint
- pg_stat_get_last_vacuum_time(oid)
Description: Specifies the most recent time when the autovacuum thread is manually started to clear a table.
Return type: timestamptz
- pg_stat_get_last_autovacuum_time(oid)
Description: Specifies the time of the last vacuum initiated by the autovacuum daemon thread on a table.
Return type: timestamptz
- pg_stat_get_vacuum_count(oid)
Description: Specifies the number of times a table is manually cleared.
Return type: bigint
- pg_stat_get_autovacuum_count(oid)
Description: Specifies the number of times the autovacuum daemon thread is started to clear a table.
Return type: bigint
- pg_stat_get_last_analyze_time(oid)
Description: Specifies the last time when a table starts to be analyzed manually or by the autovacuum thread.
Return type: timestamptz
- pg_stat_get_last_autoanalyze_time(oid)
Description: Specifies the time when the last analysis initiated by the autovacuum daemon thread on a table.
Return type: timestamptz
- pg_stat_get_analyze_count(oid)
Description: Specifies the number of times a table is manually analyzed.
Return type: bigint
- pg_stat_get_autoanalyze_count(oid)
Description: Specifies the number of times the autovacuum daemon thread analyzes a table.
Return type: bigint
- pg_total_autovac_tuples(bool)
Description: Returns tuple records related to the total autovac, such as nodename, nspname, relname, and tuple IUDs. The input parameter specifies whether to query the relation information.
Return type: setofrecord
Output parameters: See Table 4.
Table 4 Return parameters Return Parameter
Type
Description
nodename
name
Node name.
nspname
name
Name of a namespace
relname
name
Name of an object, such as a table, an index, or a view
partname
name
Partition name
n_dead_tuples
bigint
Number of dead rows in a table partition
n_live_tuples
bigint
Number of live rows in a table partition
changes_since_analyze
bigint
Number of changes generated by ANALYZE
- pg_total_gsi_autovac_tuples(bool)
Description: The function is not supported in centralized mode.
Return type: setofrecord
- pg_autovac_status(oid)
Description: Returns autovac information, such as nodename, nspname, relname, analyze, vacuum, thresholds for the ANALYZE and VACUUM operations, and the number of analyzed or vacuumed tuples. Only users with the SYSADMIN permission can use this function.
Return type: setofrecord
Output parameters: See Table 5.
Table 5 Return parameters Return Parameter
Type
Description
nspname
text
Name of a namespace.
relname
text
Name of an object, such as a table, an index, or a view.
nodename
text
Node name.
doanalyze
Boolean
Specifies whether to execute ANALYZE.
anltuples
bigint
Number of ANALYZE tuples.
anlthresh
bigint
ANALYZE threshold.
dovacuum
Boolean
Specifies whether to execute VACUUM.
vactuples
bigint
Number of VACUUM tuples.
vacthresh
bigint
VACUUM threshold.
- pg_autovac_timeout(oid)
Description: Returns the number of consecutive timeouts during the autovac operation on a table. If the table information is invalid or the node information is abnormal, NULL will be returned.
Return type: bigint
- pg_stat_get_last_data_changed_time(oid)
Description: Returns the time when INSERT, UPDATE, DELETE, or TRUNCATE was last performed on a table, or the time when EXCHANGE, TRUNCATE, or DROP was last performed on a partition or subpartition. The data in the last_data_changed column of the PG_STAT_ALL_TABLES view is calculated by using this function. The performance of obtaining the last modification time by using the view is poor when the table has a large amount of data. In this case, you are advised to use functions. The input parameter is a table OID.
Return type: timestamptz
- pg_stat_set_last_data_changed_time(oid)
Description: Manually changes the time when INSERT, UPDATE, DELETE, or EXCHANGE/TRUNCATE/DROP PARTITION was last performed.
Return type: void
- pg_stat_get_last_updated(oid, text)
Description: Returns the update time of monitoring indicator fields in each table in the DBE_PERF.stat_all_tables, DBE_PERF.stat_all_indexes, DBE_PERF.statio_all_indexes, and DBE_PERF.statio_all_tables views. The input parameter 1 is the table OID, and the input parameter 2 is of the text type. The value can be "stat_table", "stat_index", or "stat_io".
Return type: timestamptz
- pg_backend_pid()
Description: Specifies the thread ID of the server thread attached to the current session.
Return type: integer
- pg_stat_get_activity(integer)
Description: Returns a record about the backend thread with the specified PID. A record for each active backend in the system is returned if NULL is specified. The returned result does not contain the connection_info column. The initial user, system administrators and users with the MONADMIN permission can view all data. Common users can only query their own results.
Example:
gaussdb=# SELECT * FROM pg_stat_get_activity(139881386280704); datid | pid | sessionid | usesysid | application_name | state | query | waiting | xact_start | query_start | backend_start | state_change | client_addr | client_hostname | client_port | enqueue | query_id | srespool | global_sessionid | unique_sql_id | trace_id -------+-----------------+-----------+----------+------------------+--------+------------------------------------------------------+---------+-------------------------------+-------------------------------+----- --------------------------+------------------------------+-------------+-----------------+-------------+---------+-------------------+--------------+------------------+---------------+---------- 16545 | 139881386280704 | 69 | 10 | gsql | active | select * from pg_stat_get_activity(139881386280704); | f | 2022-01-18 19:43:05.167718+08 | 2022-01-18 19:43:05.167718+08 | 2022 -01-18 19:42:33.513507+08 | 2022-01-18 19:43:05.16773+08 | | | -1 | | 72620543991624410 | default_pool | 1938253334#69#0 | 3751941862 | (1 row)
Return type: setofrecord
Output parameters: See Table 6.
Table 6 Return parameters Return Parameter
Type
Description
datid
oid
OID of the database that the user session connects to in the backend
pid
bigint
Backend thread ID
sessionid
bigint
Session ID
usesysid
oid
OID of the user logged in to the backend
application_name
text
Name of the application connected to the backend
state
text
Overall status of the backend
query
text
Latest query at the backend. If state is active, this column shows the ongoing query. In all other states, it shows the last query that was executed.
waiting
Boolean
Specifies whether the backend is currently waiting on a lock. If the backend is currently waiting, the value is true.
xact_start
timestamp with time zone
Time when current transaction was started (null if no transaction is active).
If the current query is the first of its transaction, the value of this column is the same as that of the query_start column.
query_start
timestamp with time zone
Time when the currently active query was started, or time when the last query was started if state is not active For a stored procedure, function, or package, the first query time is queried and does not change with the running of statements in the stored procedure.
backend_start
timestamp with time zone
Time when this process was started, that is, when the client connected to the server
state_change
timestamp with time zone
Time when state was last modified
client_addr
inet
IP address of the client connected to the backend. If this column is NULL, it indicates either the client is connected via a Unix socket on the server or this is an internal thread, such as AUTOVACUUM.
client_hostname
text
Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This column will be non-null only for IP connections and only when log_hostname is enabled.
client_port
integer
TCP port number that the client uses for communication with this backend (–1 if a Unix socket is used)
enqueue
text
Unsupported currently
query_id
bigint
ID of a query
srespool
name
Name of the resource pool
global_sessionid
text
Global session ID
unique_sql_id
bigint
Unique SQL statement ID
trace_id
text
Driver-specific trace ID, which is associated with an application request
- pg_stat_get_activity_with_conninfo(integer)
Description: Returns a record about the backend thread with the specified PID. A record for each active backend in the system is returned if NULL is specified. The initial user, system administrators and users with the MONADMIN permission can view all data. Common users can only query their own results.
Return type: setofrecord
Return values: See Table 7.
Table 7 Return value description Return Parameter
Type
Return value description
datid
oid
OID of the database that the user session connects to in the backend
pid
bigint
Backend thread ID
sessionid
bigint
Session ID
usesysid
oid
OID of the user logged in to the backend
application_name
text
Name of the application connected to the backend
state
text
Overall status of the backend
query
text
Latest query at the backend. If state is active, this column shows the ongoing query. In all other states, it shows the last query that was executed.
waiting
Boolean
Specifies whether the backend is currently waiting on a lock. If the backend is currently waiting, the value is true.
xact_start
timestamp with time zone
Time when current transaction was started (null if no transaction is active). If the current query is the first of its transaction, the value of this column is the same as that of the query_start column.
query_start
timestamp with time zone
Time when the currently active query was started, or time when the last query was started if state is not active For a stored procedure, function, or package, the first query time is queried and does not change with the running of statements in the stored procedure.
backend_start
timestamp with time zone
Time when this process was started, that is, when the client connected to the server
state_change
timestamp with time zone
Time when state was last modified
client_addr
inet
IP address of the client connected to the backend. If this column is NULL, it indicates either the client is connected via a Unix socket on the server or this is an internal thread, such as AUTOVACUUM.
client_hostname
text
Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This column will be non-null only for IP connections and only when log_hostname is enabled.
client_port
integer
TCP port number that the client uses for communication with this backend (–1 if a Unix socket is used)
enqueue
text
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 background thread with the specified PID. The PID cannot be empty. This function takes effect only when the GUC parameter track_activities is set to on. Only explainable SQL statements whose plans do not contain stream operators are supported. 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 plan_collect_thresh is set to 0, the current SQL execution time is greater than or equal to the value of log_min_duration_statement, and the total number of tuples processed by all operators in the plan is greater than or equal to 10000, the system starts to collect plans in running state. Each time the total number of tuples processed by all operators exceeds 10000, a collection is performed.
- If plan_collect_thresh is set to a value greater than 0, running plans are collected incrementally based on the threshold specified by this parameter.
The return value type is text. The types and meanings of the fields are as follows:
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).
Return type: setofinteger
- pg_stat_get_backend_pid(integer)
Description: Specifies the ID of the given server thread.
Return type: bigint
- pg_stat_get_backend_dbid(integer)
Description: Specifies the ID of the database connected to the given server thread.
Return type: oid
- pg_stat_get_backend_userid(integer)
Description: Specifies the user ID of the given server thread. This function can be called only by a system administrator.
Return type: oid
- pg_stat_get_backend_activity(integer)
Description: Active command of the given server thread, but only if the current user is a system administrator or the same user as that of the session being queried and track_activities is enabled.
Return type: text
- pg_stat_get_backend_waiting(integer)
Description: Returns true if the given server thread is waiting for a lock, but only if the current user is a system administrator or the same user as that of the session being queried and track_activities is enabled.
Return type: Boolean
- pg_stat_get_backend_activity_start(integer)
Description: Specifies the time when the given server thread's currently executing query is started only if the current user is the system administrator or the user of the session being queried and track_activities is enabled.
Return type: timestamp with time zone
- pg_stat_get_backend_xact_start(integer)
Description: Specifies the time when the given server thread's currently executing transaction is started only if the current user is the system administrator or the user of the session being queried and track_activities is enabled.
Return type: timestamp with time zone
- pg_stat_get_backend_start(integer)
Description: Specifies the time when the given server thread is started. If the current user is neither a system administrator nor the same user as that of the session being queried, NULL is returned.
Return type: timestamp with time zone
- pg_stat_get_backend_client_addr(integer)
Description: Specifies the IP address of the client connected to the given server process. If the connection is over a UDS, or if the current user is neither a system administrator nor the same user as that of the session being queried, NULL will be returned.
Return type: inet
- pg_stat_get_backend_client_port(integer)
Description: Specifies the TCP port number of the client connected to the given server process. If the connection is over a UDS, -1 will be returned. If the current user is neither a system administrator nor the same user as that of the session being queried, NULL will be returned.
Return type: integer
- pg_stat_get_bgwriter_timed_checkpoints()
Description: Specifies the time when the background writer thread starts scheduled checkpoints (because checkpoint_timeout has expired).
Return type: bigint
- pg_stat_get_bgwriter_requested_checkpoints()
Description: Specifies the time when the background writer thread starts checkpoints based on requests from the backend because checkpoint_segments has been exceeded or the CHECKPOINT command has been executed.
Return type: bigint
- pg_stat_get_bgwriter_buf_written_checkpoints()
Description: Specifies the number of buffers written by the background writer thread during checkpoints.
Return type: bigint
- pg_stat_get_bgwriter_buf_written_clean()
Description: Specifies the number of buffers written by the background writer thread for routine cleaning of dirty pages.
Return type: bigint
- pg_stat_get_bgwriter_maxwritten_clean()
Description: Specifies the time when the background writer thread stops its cleaning scan because it has written more buffers than specified in the bgwriter_lru_maxpages parameter.
Return type: bigint
- pg_stat_get_buf_written_backend()
Description: Specifies the number of buffers written by the backend thread because they need to allocate a new buffer.
Return type: bigint
- pg_stat_get_buf_alloc()
Description: Specifies the total number of the allocated buffers.
Return type: bigint
- pg_stat_clear_snapshot()
Description: Discards the current statistics snapshot. Only users with the SYSADMIN or MONADMIN permission can execute this function.
Return type: void
- pg_stat_reset()
Description: Resets all statistics counters for the current database to zero (requires system administrator permissions).
Return type: void
- pg_stat_reset_shared(text)
Description: Resets all statistics counters for the current database in each node in a shared cluster to zero (requires system administrator permissions).
Return type: void
- pg_stat_reset_single_table_counters(oid)
Description: Resets statistics for a single table or index in the current database to zero (requires system administrator permissions).
Return type: void
- pg_stat_reset_single_function_counters(oid)
Description: Resets statistics for a single function in the current database to zero (requires system administrator permissions).
Return type: void
- 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
- total_memory()
Description: Obtains the size of the virtual memory used by the current node, in KB.
Return type: bigint
- pg_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)
Description: Obtains damage information about pages after the current node is started.
Return type: record
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 (requires system administrator permissions).
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.
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_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.
- get_instr_workload_info(integer)
Description: Obtains the transaction volume and time information on the primary database node.
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).
- 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 database. 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.
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 monitor admin permission is required.)
Return type: Boolean
Table 8 reset_unique_sql parameters 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.
'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.
Return type: record
- get_instr_rt_percentile(integer)
Description: Obtains the response time of 80% and 95% SQL statements in the database.
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.
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.
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.
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.
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
There are 14 status information 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.
-
Description: Obtains information about all users. The input parameter is of the int type and can be any int value or NULL. Only users with the SYSADMIN permission can execute this function.
Return type: record
-
gs_wlm_readjust_user_space(oid)
Description: Corrects the storage space usage of all users. Only the administrator can execute this function.
Return type: record
-
gs_wlm_readjust_user_space_through_username(text name)
Description: Corrects the storage space usage of a specified user. Common users can use this function to modify only their own usage. Only the administrator can modify the usage of all users. If the value of name is 0000, the usage of all users needs to be modified.
Return type: record
-
gs_wlm_readjust_user_space_with_reset_flag(text name, boolean isfirst)
Description: Corrects the storage space usage of a specified user. If the input parameter isfirst is set to true, statistics are collected from 0. Otherwise, statistics are collected from the previous result. Common users can use this function to modify only their own usage. Only the administrator can modify the usage of all users. If the value of name is 0000, the usage of all users needs to be modified.
Return type: record
- gs_wlm_get_session_info()
Description: This API has been discarded and is unavailable currently.
- gs_wlm_get_user_session_info()
Description: This API has been discarded and is unavailable currently.
- 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.
Return type: record
- DBE_PERF.get_global_thread_wait_status()
Description: Displays the block waiting 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 associated 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 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 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 associated 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 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.
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.
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.
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.
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.
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.
Return type: record
- DBE_PERF.get_global_config_settings()
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_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 response time distribution for 80% and 95% SQL statements of the database. To query this function, you must have the MONADMIN permission.
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.
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.
Parameters: See Table 9.
Return type: record, which is the same as that in the statement_history table.
Table 9 standby_statement_history parameters Parameter
Type
Description
only_slow
Boolean
Specifies whether to query only slow SQL statements.
true: yes, which is equivalent to select .. where is_slow_sql = true;.
false or NULL indicates that all SQL statements are queried, that is, is_slow_sql is not used as a filtering condition.
time1
timestamptz
Minimum time specified by finish_time for querying SQL statements. This parameter is optional.
time2
timestamptz
Maximum time specified by finish_time for querying SQL statements. This parameter is optional.
- The two time parameters time1 and time2 indicate the time segment to which finish_time of the queried SQL statement belongs. They indicate the start time and end time respectively. If NULL or no value is entered, there is no limit. The function of time1 and time2 is the same as that of select .. where finish_time between time1 and time2.
- The data generated from this function on the standby node is not stored in a table, and there is no index on the start_time column. You are advised to use the parameter to search for finish_time.
- Full/Slow SQL statements on the standby node are written to disks asynchronously. Therefore, the storage of user SQL information may be delayed. You are advised to query this API to expand the query time range.
- DBE_PERF.track_memory_context(context_list text)
Description: Sets the memory context whose memory application details need to be collected. The input parameter is the memory context names, which are separated by commas (,), for example, ThreadTopMemoryContext, SessionCacheMemoryContext. Note that the memory context names are context-sensitive. In addition, the length of a single memory context is 63, and the excess part is truncated. The maximum number of memory contexts that can be collected at a time is 16. If the number of memory contexts exceeds 16, the setting fails. Each time this function is called, the previous statistics result is cleared. When the input parameter is set to "", the statistics function is disabled. To query this function, you must have the MONADMIN permission.
Return type: Boolean
- DBE_PERF.track_memory_context_detail()
Description: Obtains the memory application details of the memory context specified by the DBE_PERF.track_memory_context function. For details, see the DBE_PERF.track_memory_context_detail view. To query this function, you must have the MONADMIN permission.
Return type: record
- pg_stat_get_mem_mbytes_reserved(tid)
Description: Collects statistics on variables related to resource management, which is used only for fault locating.
Parameter: thread ID
Return type: text
- pg_stat_get_file_stat()
Description: Records statistics about data file I/Os to indicate I/O performance and detect performance problems such as abnormal I/O operations.
Return type: record
- pg_stat_get_redo_stat()
Description: Displays statistics on the replay of session thread logs.
Return type: record
- pg_stat_get_status(int8)
Description: Tests the block waiting status about the backend thread and auxiliary thread of the current instance.
Return type: record
- get_local_rel_iostat()
Description: Queries the accumulated I/O status of data files on the current node.
Return type: record
- DBE_PERF.get_global_rel_iostat()
Description: Displays statistics about data file I/Os on all nodes. To query this function, you must have the MONADMIN permission.
Return type: record
- DBE_PERF.global_threadpool_status()
Description: Displays the status of worker threads and sessions in thread pools on all nodes. The GLOBAL_THREADPOOL_STATUS column is returned by the function. To query the function, you must have the MONADMIN permission.
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 why the temporary file was created, and regardless of the log_temp_files setting.
Parameter: oid
Return type: bigint
- pg_stat_get_db_temp_files()
Description: Queries the number of temporary files created in the database. All temporary files are counted, regardless of why the temporary file was created (for example, sorting or hashing), and regardless of the log_temp_files setting.
Parameter: oid
Return type: bigint
- 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
Query statement ID.
- 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).
The return values are as follows:Table 10 local_xlog_redo_statics parameters Column
Description
xlog_type
Log types.
rmid
Resource manager ID.
info
Xlog operation.
num
Number of logs.
extra
Valid values are available for page replay logs and xact logs.- Number of pages read from the disk if the log is of the page type.
- Number of deleted files if the log is of the xact type.
- gs_get_shared_memctx_detail(text)
Description: Returns the memory application details of the specified memory context, including the file, line number, and size of each memory application (the size of the same line in the same file is accumulated). Only the memory context queried through the pg_shared_memory_detail view can be queried. The input parameter is the memory context name (that is, the contextname column in the result returned by the pg_shared_memory_detail view). To query this function, you must have the SYSADMIN or MONADMIN permission.
Return type: SETOF record
Name
Type
Description
file
text
Name of the file where the memory is applied for.
line
int8
Line number of the code in the file where the requested memory is located.
size
int8
Size of the applied memory. The value is accumulated if the memory is applied for multiple times in the same line of the same file.
This view is not supported in the Lite release version.
- gs_get_session_memctx_detail(text)
Description: Returns the memory application details of the specified memory context, including the file, line number, and size of each memory application (the size of the same line in the same file is accumulated). This parameter is valid only in thread pool mode. Only the memory context queried through the 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 the gs_session_memory_context view). To query this function, you must have the SYSADMIN or MONADMIN permission.
Return type: SETOF record
Name
Type
Description
file
text
Name of the file where the memory is applied for.
line
int8
Line number of the code in the file where the requested memory is located.
size
int8
Size of the allocated memory, in bytes. The value is accumulated if the memory is allocated for multiple times to the same line of the same file.
This view takes effect only in thread pool mode and is not supported in the Lite release version.
- gs_get_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:
Obtain the call stack of a specified thread.1 2 3 4 5 6 7 8 9 10 11 12 13
gaussdb=# SELECT * FROM gs_stack(139663481165568); gs_stack -------------------------------------------------------------------- __poll + 0x2d + WaitLatchOrSocket(Latch volatile*, int, int, long) + 0x29f + WaitLatch(Latch volatile*, int, long) + 0x2e + JobScheduleMain() + 0x90f + int GaussDbThreadMain<(knl_thread_role)9>(knl_thread_arg*) + 0x456+ InternalThreadFunc(void*) + 0x2d + ThreadStarterFunc(void*) + 0xa4 + start_thread + 0xc5 + clone + 0x6d + (1 row)
Obtain the call stacks of all threads.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
gaussdb=# select * from gs_stack(); -[ RECORD 1 ]------------------------------------------------------------------------------------------------------- tid | 139670364324352 lwtid | 308 stack | __poll + 0x2d | CommWaitPollParam::caller(int (*)(pollfd*, unsigned long, int), unsigned long) + 0x34 | int comm_socket_call<CommWaitPollParam, int (*)(pollfd*, unsigned long, int)>(CommWaitPollParam*, int (*)(pollfd*, unsigned long , int)) + 0x28 | comm_poll(pollfd*, unsigned long, int) + 0xb1 | ServerLoop() + 0x72b | PostmasterMain(int, char**) + 0x314e | main + 0x617 | __libc_start_main + 0xf5 | 0x55d38f8db3a7 [ RECORD 2 ]------------------------------------------------------------------------------------------------------- tid | 139664851859200 lwtid | 520 stack | __poll + 0x2d | WaitLatchOrSocket(Latch volatile*, int, int, long) + 0x29f | SysLoggerMain(int) + 0xc86 | int GaussDbThreadMain<(knl_thread_role)17>(knl_thread_arg*) + 0x45d | InternalThreadFunc(void*) + 0x2d | ThreadStarterFunc(void*) + 0xa4 | start_thread + 0xc5 | clone + 0x6d
- gs_perf_start()
Description: Calls perf_event_open to collect the call stack of each thread and the running time of each function. To query this function, you must have the SYSADMIN or MONADMIN permission.
The parameters are described as follows.
Parameter
Description
Type
Value Range
duration
Stack collection duration, in seconds. If a floating-point number is entered, the first digit after the decimal point is rounded off.
integer
1~60
freq
Stack collection frequency. This parameter is optional. The unit is Hz. The default value is 100.
integer
10~1000
Return type: text
Example:
Set the collection frequency to 100 Hz and collect stack information for 10s.1 2 3 4 5
gaussdb=# SELECT * FROM gs_perf_start(10, 100); gs_perf_start --------------------- Perf start succeed. (1 row)
During data collection, gs_perf_start needs to apply for a ring buffer. The buffer size is controlled by /proc/sys/kernel/perf_event_mlock_kb in the OS. If the error message "perf mmap failed" is displayed during the collection, adjust the size of /proc/sys/kernel/perf_event_mlock_kb and start the collection again.
- gs_perf_query()
Description: Collects the function call stacks of each thread, sums up the function running time, and displays the collection result. To query this function, you must have the SYSADMIN or MONADMIN permission.
Parameter: nan
Return type: SETOF record
The following table describes the fields returned by the function.
Name
Type
Description
backtrace
text
Stack name (in a tree structure).
period
bigint
Execution time of a stack.
level
integer
Level of the stack call tree where a stack is located.
sequence
integer
Sequence in the stack call tree after sorting.
thread_name
text
Name of the thread where a stack is located.
overhead
float
Percentage of the stack execution time.
Example:
Query the collected stack information.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
gaussdb=# SELECT * FROM gs_perf_query() WHERE overhead > 2 AND level < 10; backtrace | period | level | sequence | thread_name | overhead -------------------------------------------------------------------------------+-------------+-------+----------+---------------+---------- root +| 74140000000 | 0 | 1 | root | 100 | | | | | worker +| 69930000000 | 1 | 2 | worker | 94.32 | | | | | |── start_thread +| 67620000000 | 2 | 3 | worker | 91.21 | | | | | | └── ThreadStarterFunc +| 67620000000 | 3 | 4 | worker | 91.21 | | | | | | └── internal_thread_func +| 67620000000 | 4 | 5 | worker | 91.21 | | | | | | └── int gauss_db_thread_main +| 67620000000 | 5 | 6 | worker | 91.21 | | | | | | └── backend_run +| 67620000000 | 6 | 7 | worker | 91.21 | | | | | | |── PostgresMain +| 67520000000 | 7 | 8 | worker | 91.07 | | | | | | | |── exec_simple_query +| 64800000000 | 8 | 9 | worker | 87.4 | | | | | | | | |── OpFusion::opfusion_process +| 30130000000 | 9 | 10 | worker | 40.64 | | | | | | | | |── pg_analyze_and_rewrite +| 11290000000 | 9 | 1405 | worker | 15.23 | | | | | | | | |── pg_plan_queries +| 9550000000 | 9 | 2660 | worker | 12.88 | | | | | | | | |── PortalRun +| 4680000000 | 9 | 4310 | worker | 6.31 | | | | | | | | |── finish_xact_command +| 3120000000 | 9 | 4923 | worker | 4.21 | | | | | | | | |── pg_parse_query +| 1520000000 | 9 | 5262 | worker | 2.05 | | | | | | | | |── OpFusion::opfusion_factory +| 1500000000 | 9 | 5374 | worker | 2.02 | | | | | txnsnapworker +| 1640000000 | 1 | 6770 | txnsnapworker | 2.21 | | | | | |── start_thread +| 1620000000 | 2 | 6771 | txnsnapworker | 2.19 | | | | | | └── ThreadStarterFunc +| 1620000000 | 3 | 6772 | txnsnapworker | 2.19 | | | | | | └── internal_thread_func +| 1620000000 | 4 | 6773 | txnsnapworker | 2.19 | | | | | | └── int gauss_db_thread_main +| 1620000000 | 5 | 6774 | txnsnapworker | 2.19 | | | | | | └── txn_snap_cap_worker_main +| 1620000000 | 6 | 6775 | txnsnapworker | 2.19 | | | | | | └── PostgresInitializer::InitTxnSnapWorker +| 1620000000 | 7 | 6776 | txnsnapworker | 2.19 | | | | | | |── PostgresInitializer::SetDatabase +| 1600000000 | 8 | 6777 | txnsnapworker | 2.16 | | | | | | | └── PostgresInitializer::SetDatabaseByName+| 1600000000 | 9 | 6778 | txnsnapworker | 2.16
- gs_perf_report()
Description: Generates a graphical flame graph file based on the stack data collected by executing the gs_perf_start function and saves the file in the $GAUSSLOG/gs_flamegraph/{datanode} directory. To query this function, you must have the SYSADMIN or MONADMIN permission.
Parameter: nan
Return type: text
Example:
Generate a flame graph file.1 2 3 4 5
gaussdb=# SELECT * FROM gs_perf_report(); gs_perf_report ------------------------------------------------------------------------- Perf report succeed, flamegraph file: flamegraph-2023-11-26_164802.html (1 row)
- gs_perf_clean()
Description: Clears data generated by perf. To query this function, you must have the SYSADMIN or MONADMIN permission.
Parameter: nan
Return type: text
Example:
Clear data generated by perf.1 2 3 4 5
gaussdb=# SELECT * FROM gs_perf_clean(); gs_perf_clean --------------------- Perf clean succeed. (1 row)
- gs_get_thread_memctx_detail(tid,text)
Description: Returns the memory application details of the specified memory context, including the file, line number, and size of each memory application (the size of the same line in the same file is accumulated). Only the memory context queried through the gs_thread_memory_context view is supported. The first input parameter is the thread ID (the tid column of the data returned by the 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.
Return type: SETOF record
Name
Type
Description
file
text
Name of the file where the memory is applied for.
line
int8
Line number of the code in the file where the requested memory is located.
size
int8
Size of the allocated memory, in bytes. The value is accumulated if the memory is allocated for multiple times to the same line of the same file.
This view is not supported in the Lite release version.
- gs_tpworker_execstmt_stat()
Description: Displays the runtime information of a statement. If the SYSADMIN or MONADMIN user runs the statement, the information about all the statements that are being executed is displayed. Common users can query only the information about the SQL statements executed by themselves.
Return type: SETOF record
Name
Type
Description
db_oid
oid
OID of the database that the user session connects to in the backend.
db_name
name
Name of the database that the user session connects to in the backend.
threadpool_worker
varchar
NUMA group to which a thread belongs and thread ID. The format is numagroup_threadid.
thread_id
bigint
Thread ID.
session_id
bigint
Session ID.
query_id
bigint
ID of the SQL statement that is being executed.
query_text
text
Content of the SQL statement that is being executed
unique_sql_id
bigint
Unique ID generated by the SQL statement
client_hostname
text
Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This column will be non-null only for IP connections and only when log_hostname is enabled.
client_app_name
text
Name of the client app.
stmt_slow_time_threshold
int
Preset timeout interval for marking an SQL statement as a slow SQL statement, in milliseconds.
stmt_start_time
timestamp with time zone
Time when the statement starts to be executed 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.- Waiting: The session access is successful but it is not executed by the thread.
- Running: The current statement is executed properly.
- Control: The current statement enters the resource control phase.
stmt_control_rule
text
Slow SQL control rule corresponding to the current language.
stmt_control_iostat
text
IOPS value and maximum IOPS of the current statement. The format is curVal/maxVal.
stmt_control_memstat
text
This field is reserved and is not supported currently.
stmt_control_cpustat
text
This field is reserved and is not supported currently.
stmt_control_netstat
text
This field is reserved and is not supported currently.
- gs_tpworker_execslot_stat()
Description: Displays the thread running information. If the SYSADMIN or MONADMIN user runs the command, information about all threads is displayed. Common users can query only information about the threads where the SQL statements executed by themselves are located.
Return type: SETOF record
Name
Type
Description
numagroup
int
NUMA group to which the current thread belongs.
worker_id
int
Thread ID of the current thread.
worker_bind_type
text
Thread binding mode. The value can be numabind, cpubind, allbind, or nobind.
worker_cpu_affinity
text
Affinity between threads and CPU cores, that is, the range of CPU cores that can be scheduled by threads.
worker_status
varchar
Current thread status:- Waiting: The session access is successful but it is not executed by the thread.
- Running: The current statement is executed properly.
- Control: The current statement enters the resource control phase.
served_query_id
bigint
ID of the SQL statement that is being executed.
served_query_text
text
Content of the SQL statement that is being executed.
- gs_session_all_settings(sessionid bigint)
Description: Queries the full GUC parameter settings of the session corresponding to the session ID on the local node. To execute this function, you must have the SYSADMIN or MONADMIN permission.
Input parameter description: sessionid indicates the session ID.
Return type: SETOF record
The following table describes return fields.
Name
Type
Description
name
text
Parameter name.
setting
text
Current parameter value.
unit
text
Implicit unit of a parameter.
Example:
gaussdb=# SELECT sessionid FROM pg_stat_activity WHERE usename = 'testuser'; sessionid ----------- 788861 (1 row) gaussdb=# SELECT * FROM gs_session_all_settings(788861) WHERE name = 'work_mem'; name | setting | unit ----------+---------+------ work_mem | 131072 | kB (1 row)
- gs_session_all_settings()
Description: Queries full GUC parameter settings of all sessions on the local node. To execute this function, you must have the SYSADMIN or MONADMIN permission.
Return type: SETOF record
Name
Type
Description
sessionid
bigint
Session ID.
pid
bigint
Backend thread ID.
name
text
Parameter name.
setting
text
Current parameter value.
unit
text
Implicit unit of a parameter.
Example:
gaussdb=# SELECT * FROM gs_session_all_settings() WHERE name = 'work_mem'; sessionid | pid | name | setting | unit -----------------+-----------------+----------+---------+------ 140550214145792 | 96974 | work_mem | 65536 | kB 140550214145792 | 96971 | work_mem | 65536 | kB 140549731735296 | 140549731735296 | work_mem | 65536 | kB 140549764413184 | 140549764413184 | work_mem | 65536 | kB (4 rows)
- gs_local_wal_preparse_statistics()
Description: Queries the latest startup of the log pre-parsing thread on the local node as well as the pre-parsing logs. Only the user with the SYSADMIN permission can execute this function.
Return type: SETOF record
Name
Type
Description
preparser_term
text
Maximum term value obtained from the latest pre-parsing log.
preparser_start_time
timestamptz
Time when the latest pre-parsing is started.
preparser_end_time
timestamptz
End time of the latest pre-parsing.
preparser_start_location
text
Start position of the latest pre-parsing log.
preparser_end_location
text
End position of the latest pre-parsing log.
preparser_total_bytes
int8
Number of latest pre-parsed logs, in bytes.
preparser_speed
int8
Latest pre-parsing speed, in bytes/ms.
is_valid
bool
Specifies whether the latest pre-parsing result can be used for leader selection.
Example:gaussdb=# SELECT * FROM gs_local_wal_preparse_statistics(); preparser_term | preparser_start_time | preparser_end_time | preparser_start_location | preparser_end_location | preparser_total_bytes | preparser_speed | is_valid ----------------+-------------------------------+-------------------------------+--------------------------+------------------------+-----------------------+-----------------+---------- 3107 | 2023-02-01 17:04:23.367946+08 | 2023-02-01 17:04:25.354434+08 | 00000003/C3EEA660 | 00000004/0BE60738 | 1207394520 | 1207394520 | f (1 row)
- gs_wlm_respool_cpu_info()
Description: Displays the limit and usage of CPU resources in a resource pool.
Return type: SETOF record
Name
Type
Description
respool_name
name
Name of the resource pool.
control_group
name
Cgroup name.
cpu_affinity
name
Value of cores bound to the CPU.
cpu_usage
integer
CPU usage of a resource pool.
Example:
1 2 3 4 5 6
gaussdb=# SELECT * FROM GS_WLM_RESPOOL_CPU_INFO(); respool_name | control_group | cpu_affinity | cpu_usage ---------------+----------------------+--------------+----------- respool_cpu_2 | respool_cpu_2:Medium | 0-95 | 78 default_pool | DefaultClass:Medium | 0-32 | 65 (2 rows)
- gs_wlm_respool_connection_info()
Description: Displays the limit and usage of the number of connections in ta resource pool.
Return type: SETOF record
Name
Type
Description
respool_name
name
Name of the resource pool.
max_connections
name
Maximum number of connections to a resource pool.
curr_connections
integer
Number of existing connections in the current resource pool.
Example:1 2 3 4 5 6
gaussdb=# SELECT * FROM GS_WLM_RESPOOL_CONNECTION_INFO(); respool_name | max_connections | curr_connections ---------------+-----------------+------------------ respool1 | -1 | 0 default_pool | -1 | 1 (2 rows)
- gs_wlm_respool_memory_info()
Description: Displays the limit and usage of memory resources in a resource pool.
Return type: SETOF record
Name
Type
Description
respool_name
name
Name of the resource pool.
max_dynamic_memory
integer
Maximum dynamic memory that can be used.
current_dynamic_memory
integer
Used dynamic memory.
max_shared_memory
integer
Maximum shared memory that can be used.
current_shared_memory
integer
Shared memory that has been used.
shared_memory_hits_percent
integer
Cache hit ratio of the current resource pool.
When the dynamic memory usage of the resource pool exceeds the maximum value, the returned value of the GUC parameter current_dynamic_memory may be greater than the value of max_dynamic_memory. This is normal because no memory is allocated.
Example:
1 2 3 4 5 6
gaussdb=# SELECT * FROM GS_WLM_RESPOOL_MEMORY_INFO(); respool_name | max_dynamic_memory | current_dynamic_memory | max_shared_memory | current_shared_memory | shared_memory_hits_percent -----------------+--------------------+------------------------+-------------------+-----------------------+---------------------------- default_pool | -1 | 3383kB | -1 | 3848kB | 90 resource_pool_a | 30720kB | 0kB | -1 | 0kB | 0 (2 rows)
- gs_wlm_respool_concurrency_info()
Description: Displays the limit and usage of concurrent resources in a resource pool.
Return type: SETOF recordName
Type
Description
respool_name
name
Name of the resource pool.
max_concurrency
integer
Maximum number of concurrent queries allowed by the resource pool.
running_conurrency
integer
Number of concurrent tasks that are being executed in the current resource pool.
waiting_concurrency
integer
Number of concurrent tasks that are waiting in the current resource pool.
Example:
gaussdb=# SELECT * FROM GS_WLM_RESPOOL_CONCURRENCY_INFO(); respool_name | max_concurrency | running_concurrency | waiting_concurrency -----------------+-----------------+---------------------+--------------------- default_pool | -1 | 1 | 0 resource_pool_a | -1 | 0 | 0 (2 rows)
- gs_wlm_respool_io_info()
Description: Displays the limit and usage of I/O resources in a resource pool.
Return type: SETOF recordName
Type
Description
respool_name
name
Name of the resource pool.
io_limits
integer
Upper limit of IOPS. The value 0 indicates there is no limit.
- Unit: The unit is determined by GUC parameter io_control_unit, which is used to count the number of I/Os during I/O control. The value of io_control_unit is one IOPS.
io_priority
text
I/O priority set for jobs that consume I/O resources. It takes effect when the I/O usage reaches 90%. None indicates there is no control.
current_iops
integer
Number of times that the current I/O has been triggered.
The current I/O statistics occasionally exceed the upper limit, which is related to the I/O statistics algorithm and is normal.
Example:
gaussdb=# SELECT * FROM GS_WLM_RESPOOL_IO_INFO(); respool_name | io_limits | io_priority | current_iops -----------------+-----------+-------------+-------------- default_pool | 0 | None | 0 resource_pool_a | 0 | Low | 0 (2 rows)
- gs_wlm_user_space_info()
Description: Displays the storage space usage of a user.
Return type: SETOF record
Name
Type
Description
user_name
name
Username.
max_permanent_space
bigint
Maximum permanent storage space that can be used by a user, in bytes.
current_ permanent_space
bigint
Permanent storage space used by the current user, in bytes.
max_temp_space
bigint
Maximum temporary storage space that can be used by a user, in bytes.
current_ temp_space
bigint
Temporary storage space used by the current user, in bytes.
max_spill_space
bigint
Maximum operator flushing storage space that can be used by a user, in bytes.
current_ spill_space
bigint
Operator flushing storage space used by the current user, in bytes.
Example:1 2 3 4 5
gaussdb=# SELECT * FROM GS_WLM_USER_SPACE_INFO(); user_name | max_permanent_space | current_permanent_space | max_temp_space | current_temp_space | max_spill_space | current_spill_space -----------------------------+---------------------+-------------------------+----------------+--------------------+-----------------+--------------------- xy | -1 | 2464 | -1 | 0 | -1 | 0 (1 rows)
- gs_wlm_session_io_info()
Description: Displays the I/O usage of a session.
Return type: SETOF record
Name
Type
Description
session_id
integer
Session ID.
io_limits
integer
Upper limit of IOPS. The value 0 indicates there is no limit.
- Unit: The unit is determined by GUC parameter io_control_unit, which is used to count the number of I/Os during I/O control. The value of io_control_unit is one IOPS.
io_priority
text
I/O priority set for jobs that consume I/O resources. It takes effect when the I/O usage reaches 90%. None indicates there is no control.
current_iops
integer
Number of times that the current I/O has been triggered.
The current I/O statistics occasionally exceed the upper limit, which is related to the I/O statistics algorithm and is normal.
wait_time
integer
Total waiting time after the current I/O exceeds the upper limit.
Example:
1 2 3 4 5
gaussdb=# SELECT * FROM GS_WLM_SESSION_IO_INFO(); session_id | io_limits | io_priority | current_iops | wait_time -----------------+-----------+-------------+--------------+----------- 139976325986048 | 10 | None | 0 | 2709 (1 row)
- gs_wlm_session_memory_info()
Description: Displays the memory usage of a session.
Return type: SETOF record
Name
Type
Description
session_id
integer
Session ID.
sess_used_dynamic_memory
bigint
Used dynamic memory.
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 by the standby node. Connect to the standby DN for query. In other cases, the query result is 0.
Return type: SETOF record
Name
Type
Description
lsn_info_page_disk_read_counter
int8
Number of disk access times of lsn info meta files.
lsn_info_page_disk_read_dur
int8
Total latency of lsn info meta file access to disks.
blk_info_meta_disk_read_counter
int8
Number of disk access times of block info meta files.
blk_info_meta_disk_read_dur
int8
Total latency of block info meta file access to disks.
base_page_read_disk_counter
int8
Number of disk access times of base page files.
base_page_read_disk_dur
int8
Total latency of base page file access to disks.
Example:
gaussdb=# SELECT * FROM exrto_file_read_stat(); lsn_info_page_disk_read_counter | lsn_info_page_disk_read_dur | blk_info_meta_disk_read_counter | blk_info_meta_disk_read_dur | base_page_read_disk_counter | base_page_read_disk_dur ---------------------------------+-----------------------------+---------------------------------+-----------------------------+-----------------------------+------------------------- 14987 | 92313 | 23879 | 129811 | 0 | 0 (1 row)
- gs_exrto_recycle_info()
Description: Queries the resource recycling location, including the recycling LSN of each thread, global recycling LSN, and the earliest snapshot LSN of a query thread. Connect to the standby DN for query. In other cases, the query result is 0.
Return type: SETOF record
Name
Type
Description
page_redo_worker_thread_id
text
Reclamation LSN location of redo thread. thread_id indicates the redo thread ID.
global_recycle_lsn
text
LSN of global reclamation location.
exrto_snapshot_oldest_lsn
text
Earliest snapshot LSN of a query thread.
Example:
gaussdb=# SELECT * FROM gs_exrto_recycle_info(); thread_id | recycle_lsn ----------------------------------+------------- page_redo_worker_140148895381248 | 0/7B4552E0 page_redo_worker_140148872312576 | 0/7B4535B8 global_recycle_lsn | 0/7B4535B8 exrto_snapshot_oldest_lsn | 0/8488E6D0 (4 rows)
- gs_stat_get_db_conflict_all(oid)
Input parameter: dbid(oid) indicates the database OID.
Description: Queries the number of sent replay conflict signals of different types.
Return type: SETOF record
Name
Type
Description
conflict_all
int8
Number of sent replay conflict signals.
conflict_tablespace
int8
Number of sent replay conflict signals of the tablespace type.
conflict_lock
int8
Number of sent replay conflict signals of the lock type
conflict_snapshot
int8
Number of sent replay conflict signals of the snapshot type.
conflict_bufferpin
int8
Number of sent replay conflict signals of the bufferpin type.
conflict_startup_deadlock
int8
Number of sent replay conflict signals of the startup_deadlock type
conflict_truncate
int8
Number of sent replay conflict signals of the truncate type.
conflict_standby_query_timeout
int8
Number of sent replay conflict signals of the standby_query_timeout type.
conflict_force_recycle
int8
Number of sent replay conflict signals of the force_recycle type.
Example:gaussdb=# SELECT * FROM gs_stat_get_db_conflict_all(12738); conflict_all | conflict_tablespace | conflict_lock | conflict_snapshot | conflict_bufferpin | conflict_startup_deadlock | conflict_truncate | conflict_standby_query_timeout | conflict_force_recycle --------------+---------------------+---------------+-------------------+--------------------+---------------------------+-------------------+--------------------------------+------------------------ 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 (1 row)
- gs_redo_stat_info()
Description: Queries redo information, including the buffer hit ratio of the redo thread, number of unlink_rels files executed, wait event information of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario, and wait event information of wal_read_from_write_buffer. The query must be executed by connecting to the standby DN.
Return type: SETOF record
Name
Type
Description
buffer_hit_rate
float8
Buffer hit ratio of the redo thread.
ddl_unlink_nrels_count
int8
Number of unlink rel files executed during the redo process of DDL statements.
read_buffer_io_counter
int8
Number of wait events of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.
read_buffer_io_total_dur
int8
Total wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.
read_buffer_io_avg_dur
int8
Average wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.
read_buffer_io_min_dur
int8
Minimum wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.
read_buffer_io_max_dur
int8
Maximum wait event duration of I/O operations generated when the redo thread reads the buffer in the ultimate RTO scenario.
read_wal_buf_counter
int8
Number of wait events triggered by wal_read_from_write_buffer in the ultimate RTO scenario.
read_wal_buf_total_dur
int8
Total wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.
read_wal_buf_avg_dur
int8
Average wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.
read_wal_buf_min_dur
int8
Minimum wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.
read_wal_buf_max_dur
int8
Maximum wait event duration of wal_read_from_write_buffer in the ultimate RTO scenario.
Example:
gaussdb=# SELECT * FROM gs_redo_stat_info(); -[ RECORD 1 ]------------+---------- buffer_hit_rate | 70.5707 ddl_unlink_nrels_count | 3 read_buffer_io_counter | 1732 read_buffer_io_total_dur | 2850806 read_buffer_io_avg_dur | 1645 read_buffer_io_min_dur | 3 read_buffer_io_max_dur | 981639 read_wal_buf_counter | 9779 read_wal_buf_total_dur | 193612470 read_wal_buf_avg_dur | 19798 read_wal_buf_min_dur | 3 read_wal_buf_max_dur | 1914777
- gs_recovery_conflict_waitevent_info()
Description: Queries wait event information about the function that processes redo conflicts. The query must be executed by connecting to the standby DN.
Return type: SETOF record
Name
Type
Description
conflict_lock_counter
int8
Number of times that lock redo conflicts are triggered.
conflict_lock_total_dur
int8
Total duration for processing lock redo conflicts.
conflict_lock_avg_dur
int8
Average duration for processing lock redo conflicts.
conflict_lock_min_dur
int8
Minimum duration for processing lock redo conflicts.
conflict_lock_max_dur
int8
Maximum duration for processing lock redo conflicts.
conflict_snapshot_counter
int8
Number of times that snapshot redo conflicts are triggered.
conflict_snapshot_total_dur
int8
Total duration for processing snapshot redo conflicts.
conflict_snapshot_avg_dur
int8
Average duration for processing snapshot redo conflicts.
conflict_snapshot_min_dur
int8
Minimum duration for processing snapshot redo conflicts.
conflict_snapshot_max_dur
int8
Maximum duration for processing snapshot redo conflicts.
conflict_tablespace_counter
int8
Number of times that tablespace redo conflicts are triggered.
conflict_tablespace_total_dur
int8
Total duration for processing tablespace redo conflicts.
conflict_tablespace_avg_dur
int8
Average duration for processing tablespace redo conflicts.
conflict_tablespace_min_dur
int8
Minimum duration for processing tablespace redo conflicts.
conflict_tablespace_max_dur
int8
Maximum duration for processing tablespace redo conflicts.
conflict_database_counter
int8
Number of times that database redo conflicts are triggered.
conflict_database_total_dur
int8
Total duration for processing database redo conflicts.
conflict_database_avg_dur
int8
Average duration for processing database redo conflicts.
conflict_database_min_dur
int8
Minimum duration for processing database redo conflicts.
conflict_database_max_dur
int8
Maximum duration for processing database redo conflicts.
conflict_truncate_counter
int8
Number of times that TRUNCATE redo conflicts are triggered.
conflict_truncate_total_dur
int8
Total duration for processing TRUNCATE redo conflicts.
conflict_truncate_avg_dur
int8
Average duration for processing TRUNCATE redo conflicts.
conflict_truncate_min_dur
int8
Minimum duration for processing TRUNCATE redo conflicts.
conflict_truncate_max_dur
int8
Maximum duration for processing TRUNCATE redo conflicts.
conflict_standby_query_timeout_counter
int8
Number of times that standby_query_timeout redo conflicts are triggered.
conflict_standby_query_timeout_total_dur
int8
Total duration for processing standby_query_timeout redo conflicts.
conflict_standby_query_timeout_avg_dur
int8
Average duration for processing standby_query_timeout redo conflicts.
conflict_standby_query_timeout_min_dur
int8
Minimum duration for processing standby_query_timeout redo conflicts.
conflict_standby_query_timeout_max_dur
int8
Maximum duration for processing standby_query_timeout redo conflicts.
conflict_force_recycle_counter
int8
Number of times that force_recycle redo conflicts are triggered.
conflict_force_recycle_total_dur
int8
Total duration for processing force_recycle redo conflicts.
conflict_force_recycle_avg_dur
int8
Average duration for processing force_recycle redo conflicts.
conflict_force_recycle_min_dur
int8
Minimum duration for processing force_recycle redo conflicts.
conflict_force_recycle_max_dur
int8
Maximum duration for processing force_recycle redo conflicts.
Example:
gaussdb=# SELECT * FROM gs_recovery_conflict_waitevent_info(); -[ RECORD 1 ]----------------------------+------ conflict_lock_counter | 0 conflict_lock_total_dur | 0 conflict_lock_avg_dur | 0 conflict_lock_min_dur | 0 conflict_lock_max_dur | 0 conflict_snapshot_counter | 0 conflict_snapshot_total_dur | 0 conflict_snapshot_avg_dur | 0 conflict_snapshot_min_dur | 0 conflict_snapshot_max_dur | 0 conflict_tablespace_counter | 0 conflict_tablespace_total_dur | 0 conflict_tablespace_avg_dur | 0 conflict_tablespace_min_dur | 0 conflict_tablespace_max_dur | 0 conflict_database_counter | 0 conflict_database_total_dur | 0 conflict_database_avg_dur | 0 conflict_database_min_dur | 0 conflict_database_max_dur | 0 conflict_truncate_counter | 6 conflict_truncate_total_dur | 35872 conflict_truncate_avg_dur | 5978 conflict_truncate_min_dur | 5130 conflict_truncate_max_dur | 7459 conflict_standby_query_timeout_counter | 0 conflict_standby_query_timeout_total_dur | 0 conflict_standby_query_timeout_avg_dur | 0 conflict_standby_query_timeout_min_dur | 0 conflict_standby_query_timeoutmax_dur | 0 conflict_force_recycle_counter | 0 conflict_force_recycle_total_dur | 0 conflict_force_recycle_avg_dur | 0 conflict_force_recycle_min_dur | 0 conflict_force_recycle_max_dur | 0
- gs_display_delay_ddl_info()
Description: Views information about files that are delayed for deletion on the standby node.
Return type: SETOF record
Table 11 Name
Type
Description
type
INT4
Indicates that the deleted object is a table or database.
lsn
TEXT
Marks the location of a particular log file.
tablespace
INT4
Indicates the physical space for storing tables and indexes in a database.
database
INT4
Indicates the physical storage location of a database.
relation
INT4
Indicates the object in a database, which can be the physical location of a table, view, or index.
bucketid
INT4
Specifies the bucket to which the relationship object belongs.
opt
INT4
Indicates the attribute of a compressed table.
forknum
INT4
Specifies a suffix name for a subject name. You can find a unique physical file based on the subject name and suffix name.
Example:gaussdb=# SELECT * FROM gs_display_delay_ddl_info(); type | lsn | tablespace | database | relation | bucketid | opt | forknum ------+-----+------------+----------+----------+----------+-----+--------- (0 rows)
Functions for Collecting Statistics in Partitioned Tables
- gs_stat_get_partition_stats(oid)
Description: Obtains the statistics of a specific partition.
Return type: record
- gs_stat_get_xact_partition_stats(oid)
Description: Obtains transaction statistics of a specific partition.
Return type: record
- gs_stat_get_all_partitions_stats()
Description: Obtains the statistics of all partitions.
Return type: setof record
- gs_stat_get_xact_all_partitions_stats()
Description: Obtains transaction statistics of all partitions.
Return type: setof record
- gs_statio_get_all_partitions_stats()
Description: Obtains the I/O statistics of all partitions.
Return type: setof record
Examples of the preceding five functions
Statistics are reported asynchronously during execution. Based on UDP, delay and packet loss may occur during background thread processing. The following example is for reference only.
Querying out-of-transaction statistics:
gaussdb=# CREATE TABLE part_tab1 gaussdb-# ( gaussdb(# a int, b int gaussdb(# ) gaussdb-# PARTITION BY RANGE(b) gaussdb-# ( gaussdb(# PARTITION P1 VALUES LESS THAN(10), gaussdb(# PARTITION P2 VALUES LESS THAN(20), gaussdb(# PARTITION P3 VALUES LESS THAN(MAXVALUE) gaussdb(# ); CREATE TABLE gaussdb=# CREATE TABLE subpart_tab1 gaussdb-# ( gaussdb(# month_code VARCHAR2 ( 30 ) NOT NULL , gaussdb(# dept_code VARCHAR2 ( 30 ) NOT NULL , gaussdb(# user_no VARCHAR2 ( 30 ) NOT NULL , gaussdb(# sales_amt int gaussdb(# ) gaussdb-# PARTITION BY RANGE (month_code) SUBPARTITION BY RANGE (dept_code) gaussdb-# ( gaussdb(# PARTITION p_201901 VALUES LESS THAN( '201903' ) gaussdb(# ( gaussdb(# SUBPARTITION p_201901_a VALUES LESS THAN( '2' ), gaussdb(# SUBPARTITION p_201901_b VALUES LESS THAN( '3' ) gaussdb(# ), gaussdb(# PARTITION p_201902 VALUES LESS THAN( '201904' ) gaussdb(# ( gaussdb(# SUBPARTITION p_201902_a VALUES LESS THAN( '2' ), gaussdb(# SUBPARTITION p_201902_b VALUES LESS THAN( '3' ) gaussdb(# ) gaussdb(# ); CREATE TABLE gaussdb=# CREATE INDEX index_part_tab1 ON part_tab1(b) LOCAL gaussdb-# ( gaussdb(# PARTITION b_index1, gaussdb(# PARTITION b_index2, gaussdb(# PARTITION b_index3 gaussdb(# ); CREATE INDEX gaussdb=# CREATE INDEX idx_user_no ON subpart_tab1(user_no) LOCAL; CREATE INDEX gaussdb=# INSERT INTO part_tab1 VALUES(1, 1); INSERT 0 1 gaussdb=# INSERT INTO part_tab1 VALUES(1, 11); INSERT 0 1 gaussdb=# INSERT INTO part_tab1 VALUES(1, 21); INSERT 0 1 gaussdb=# UPDATE part_tab1 SET a = 2 WHERE b = 1; UPDATE 1 gaussdb=# UPDATE part_tab1 SET a = 3 WHERE b = 11; UPDATE 1 gaussdb=# UPDATE /*+ indexscan(part_tab1) */ part_tab1 SET a = 4 WHERE b = 21; UPDATE 1 gaussdb=# DELETE FROM part_tab1; DELETE 3 gaussdb=# ANALYZE part_tab1; ANALYZE gaussdb=# VACUUM part_tab1; VACUUM gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '1', '1', 1); INSERT 0 1 gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '2', '2', 1); INSERT 0 1 gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '1', '3', 1); INSERT 0 1 gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '2', '4', 1); INSERT 0 1 gaussdb=# UPDATE subpart_tab1 SET sales_amt = 2 WHERE user_no='1'; UPDATE 1 gaussdb=# UPDATE subpart_tab1 SET sales_amt = 3 WHERE user_no='2'; UPDATE 1 gaussdb=# UPDATE subpart_tab1 SET sales_amt = 4 WHERE user_no='3'; UPDATE 1 gaussdb=# UPDATE /*+ indexscan(subpart_tab1) */ subpart_tab1 SET sales_amt = 5 WHERE user_no='4'; UPDATE 1 gaussdb=# DELETE FROM subpart_tab1; DELETE 4 gaussdb=# ANALYZE subpart_tab1; ANALYZE gaussdb=# VACUUM subpart_tab1; VACUUM gaussdb=# SELECT * FROM gs_stat_all_partitions; partition_oid | schemaname | relname | partition_name | sub_partition_name | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd | n_live_tup | n_dead_tup | last_vacuum | last_autovacuum | last_analyze | last_autoanalyze | vacuum_count | autovacuum_count | analyze_count | autoanalyze_count ---------------+------------+--------------+----------------+--------------------+----------+--------------+----------+---------------+-----------+-----------+-----------+---------------+------------+ ------------+-------------------------------+------------------------+-------------------------------+------------------------+--------------+------------------+---------------+------------------- 16964 | public | subpart_tab1 | p_201902 | p_201902_b | 5 | 1 | 4 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:45.293965+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688861+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 16963 | public | subpart_tab1 | p_201902 | p_201902_a | 5 | 1 | 4 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:45.291022+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688843+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 16961 | public | subpart_tab1 | p_201901 | p_201901_b | 5 | 1 | 4 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:45.288037+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688829+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 16960 | public | subpart_tab1 | p_201901 | p_201901_a | 5 | 1 | 4 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:45.285311+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:44.688802+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 16954 | public | part_tab1 | p3 | | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:29.490636+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:28.540115+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 16953 | public | part_tab1 | p2 | | 4 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:29.487914+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:28.540098+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 16952 | public | part_tab1 | p1 | | 5 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:29.48536+08 | 2000-01-01 08:00:00+08 | 2023-05-15 20:36:28.540071+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 (7 rows) gaussdb=# SELECT * FROM gs_statio_all_partitions; partition_oid | schemaname | relname | partition_name | sub_partition_name | heap_blks_read | heap_blks_hit | idx_blks_read | idx_blks_hit | toast_blks_read | toast_blks_hit | tidx_blks_read | t idx_blks_hit ---------------+------------+--------------+----------------+--------------------+----------------+---------------+---------------+--------------+-----------------+----------------+----------------+-- ------------- 16964 | public | subpart_tab1 | p_201902 | p_201902_b | 4 | 8 | 2 | 21 | | | | 16963 | public | subpart_tab1 | p_201902 | p_201902_a | 4 | 8 | 2 | 21 | | | | 16961 | public | subpart_tab1 | p_201901 | p_201901_b | 4 | 8 | 2 | 21 | | | | 16960 | public | subpart_tab1 | p_201901 | p_201901_a | 4 | 8 | 2 | 21 | | | | 16954 | public | part_tab1 | p3 | | 4 | 8 | 2 | 15 | | | | 16953 | public | part_tab1 | p2 | | 4 | 8 | 2 | 15 | | | | 16952 | public | part_tab1 | p1 | | 4 | 8 | 2 | 15 | | | | (7 rows) gaussdb=# SELECT * FROM gs_stat_get_partition_stats(16952); partition_oid | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd | n_live_tup | n_dead_tup | last_vacuum | last_autovacuum | last_analyze | last_autoanalyze | vacuum_count | autovacuum_count | analyze_count | autoanalyze_count | last_data_changed | heap_blks_read | heap_blks_hit | idx_blks_re ad | idx_blks_hit | tup_fetch | block_fetch ---------------+----------+--------------+----------+---------------+-----------+-----------+-----------+---------------+------------+------------+------------------------------+---------------------- --+-------------------------------+------------------------+--------------+------------------+---------------+-------------------+------------------------+----------------+---------------+------------ ---+--------------+-----------+------------- 16952 | 5 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 2023-05-15 20:36:29.48536+08 | 2000-01-01 08:00:00+0 8 | 2023-05-15 20:36:28.540071+08 | 2000-01-01 08:00:00+08 | 1 | 0 | 1 | 0 | 2000-01-01 08:00:00+08 | 4 | 8 | 2 | 21 | 0 | 12 (1 row)
Querying statistics within a transaction:
gaussdb=# BEGIN; BEGIN gaussdb=# INSERT INTO part_tab1 VALUES(1, 1); INSERT 0 1 gaussdb=# INSERT INTO part_tab1 VALUES(1, 11); INSERT 0 1 gaussdb=# INSERT INTO part_tab1 VALUES(1, 21); INSERT 0 1 gaussdb=# UPDATE part_tab1 SET a = 2 WHERE b = 1; UPDATE 1 gaussdb=# UPDATE part_tab1 SET a = 3 WHERE b = 11; UPDATE 1 gaussdb=# UPDATE /*+ indexscan(part_tab1) */ part_tab1 SET a = 4 WHERE b = 21; UPDATE 1 gaussdb=# DELETE FROM part_tab1; DELETE 3 gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '1', '1', 1); INSERT 0 1 gaussdb=# INSERT INTO subpart_tab1 VALUES('201902', '2', '2', 1); INSERT 0 1 gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '1', '3', 1); INSERT 0 1 gaussdb=# INSERT INTO subpart_tab1 VALUES('201903', '2', '4', 1); INSERT 0 1 gaussdb=# UPDATE subpart_tab1 SET sales_amt = 2 WHERE user_no='1'; UPDATE 1 gaussdb=# UPDATE subpart_tab1 SET sales_amt = 3 WHERE user_no='2'; UPDATE 1 gaussdb=# UPDATE subpart_tab1 SET sales_amt = 4 WHERE user_no='3'; UPDATE 1 gaussdb=# UPDATE /*+ indexscan(subpart_tab1) */ subpart_tab1 SET sales_amt = 5 WHERE user_no='4'; UPDATE 1 gaussdb=# DELETE FROM subpart_tab1; DELETE 4 gaussdb=# SELECT * FROM gs_stat_xact_all_partitions; partition_oid | schemaname | relname | partition_name | sub_partition_name | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd ---------------+------------+--------------+----------------+--------------------+----------+--------------+----------+---------------+-----------+-----------+-----------+--------------- 16964 | public | subpart_tab1 | p_201902 | p_201902_b | 4 | 4 | 1 | 2 | 1 | 1 | 1 | 1 16963 | public | subpart_tab1 | p_201902 | p_201902_a | 4 | 4 | 1 | 0 | 1 | 1 | 1 | 1 16961 | public | subpart_tab1 | p_201901 | p_201901_b | 4 | 4 | 1 | 0 | 1 | 1 | 1 | 1 16960 | public | subpart_tab1 | p_201901 | p_201901_a | 4 | 4 | 1 | 0 | 1 | 1 | 1 | 1 16954 | public | part_tab1 | p3 | | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 1 16953 | public | part_tab1 | p2 | | 3 | 2 | 0 | 0 | 1 | 1 | 1 | 1 16952 | public | part_tab1 | p1 | | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 1 (7 rows) gaussdb=# SELECT * FROM gs_stat_get_xact_partition_stats(16952); partition_oid | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch | n_tup_ins | n_tup_upd | n_tup_del | n_tup_hot_upd | tup_fetch ---------------+----------+--------------+----------+---------------+-----------+-----------+-----------+---------------+----------- 16952 | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 1 | 0 (1 row)
- gs_stat_get_partition_analyze_count(oid)
Description: Specifies the number of times that a user starts analysis on a partition.
Return type: bigint
- gs_stat_get_partition_autoanalyze_count(oid)
Description: Specifies the number of times that the autovacuum daemon thread starts analysis in a partition.
Return type: bigint
- gs_stat_get_partition_autovacuum_count(oid)
Description: Specifies the number of times that the autovacuum daemon thread starts vacuum in a partition.
Return type: bigint
- gs_stat_get_partition_last_analyze_time(oid)
Description: Specifies the last time when a partition starts to be analyzed manually or by the autovacuum thread.
Return type: timestamptz
- gs_stat_get_partition_last_autoanalyze_time(oid)
Description: Specifies the time when the last analysis initiated by the autovacuum daemon thread in a partition.
Return type: timestamptz
- gs_stat_get_partition_last_autovacuum_time(oid)
Description: Specifies the time of the last vacuum initiated by the autovacuum daemon thread in a partition.
Return type: timestamptz
- gs_stat_get_partition_last_data_changed_time(oid)
Description: Specifies the last time of a modification in a partition, such as insert, update, delete, and truncate. Currently, this parameter is not supported.
Return type: timestamptz
- gs_stat_get_partition_last_vacuum_time(oid)
Description: Specifies the most recent time when the user manually cleared a table or when the autovacuum thread was started to clear a partition.
Return type: timestamptz
- gs_stat_get_partition_numscans(oid)
Description: Specifies the number of rows scanned and read in partition order.
Return type: bigint
- gs_stat_get_partition_tuples_returned(oid)
Description: Specifies the number of rows scanned and read in partition order.
Return type: bigint
- gs_stat_get_partition_tuples_fetched(oid)
Description: Specifies the number of rows fetched by bitmap scans in a partition.
Return type: bigint
- gs_stat_get_partition_vacuum_count(oid)
Description: Specifies the number of times that a user starts vacuum in a partition.
Return type: bigint
- gs_stat_get_xact_partition_tuples_fetched(oid)
Description: Specifies the number of tuple rows scanned in a transaction.
Return type: bigint
- gs_stat_get_xact_partition_numscans(oid)
Description: Specifies the number of sequential scans performed on a partition in the current transaction.
Return type: bigint
- gs_stat_get_xact_partition_tuples_returned(oid)
Description: Specifies the number of rows read through sequential scans in a partition in the current transaction.
Return type: bigint
- gs_stat_get_partition_blocks_fetched(oid)
Description: Specifies the number of disk block fetch requests for a partition.
Return type: bigint
- gs_stat_get_partition_blocks_hit(oid)
Description: Specifies the number of disk block requests found in cache for a partition.
Return type: bigint
- pg_stat_get_partition_tuples_inserted(oid)
Description: Specifies the number of rows in the corresponding table partition.
Return type: bigint
- pg_stat_get_partition_tuples_updated(oid)
Description: Specifies the number of rows that have been updated in the corresponding table partition.
Return type: bigint
- pg_stat_get_partition_tuples_deleted(oid)
Description: Specifies the number of rows deleted from the corresponding table partition.
Return type: bigint
- pg_stat_get_partition_tuples_changed(oid)
Description: Specifies the total number of inserted, updated, and deleted rows after a table partition was last analyzed or autoanalyzed.
Return type: bigint
- pg_stat_get_partition_live_tuples(oid)
Description: Specifies the number of live rows in a partitioned table.
Return type: bigint
- pg_stat_get_partition_dead_tuples(oid)
Description: Specifies the number of dead rows in a partitioned table.
Return type: bigint
- pg_stat_get_xact_partition_tuples_inserted(oid)
Description: Specifies the number of inserted tuples in the active sub-transactions related to a table partition.
Return type: bigint
- pg_stat_get_xact_partition_tuples_deleted(oid)
Description: Specifies the number of deleted tuples in the active sub-transactions related to a table partition.
Return type: bigint
- pg_stat_get_xact_partition_tuples_hot_updated(oid)
Description: Specifies the number of hot updated tuples in the active sub-transactions related to a table partition.
Return type: bigint
- pg_stat_get_xact_partition_tuples_updated(oid)
Description: Specifies the number of updated tuples in the active sub-transactions related to a table partition.
Return type: bigint
- pg_stat_get_partition_tuples_hot_updated(oid)
Description: Returns statistics on the number of hot updated tuples in a partition with a specified partition ID.
Parameter: oid
Return type: bigint
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