Other System Functions
The built-in functions and operators of openGauss are inherited from the open-source PG. For details about the following functions, see the official PG documents.
The following table lists the functions used by openGaussGaussDB Kernel to implement internal system functions. You are not advised to use these functions. If you need to use them, contact Huawei technical support.
-
pv_compute_pool_workload()
Description: Provides the current load information of the cloud acceleration database instance.
Return type: record
-
locktag_decode(locktag text)
Description: Parses lock details from locktag.
Return type: text
-
smgreq(a smgr, b smgr)
Description: Compares two smgrs to check whether they are the same.
Parameter: smgr, smgr
Return type: Boolean
-
smgrne(a smgr, b smgr)
Description: Checks whether the two smgrs are different.
Parameter: smgr, smgr
Return type: Boolean
-
xidin4
Description: Inputs a 4-byte xid.
Parameter: cstring
Return type: xid32
-
set_hashbucket_info
Description: Sets hash bucket information.
Parameter: text
Return type: Boolean
-
hs_concat
Description: Concatenates two pieces of hstore data.
Parameter: hstore, hstore
Return type: hstore
-
hs_contained
Description: Determines whether two hstore data records are included. The return value is of the Boolean type.
Parameter: hstore, hstore
Return type: Boolean
-
hs_contains
Description: Determines whether two hstore data records are included. The return value is of the Boolean type.
Parameter: hstore, hstore
Return type: Boolean
-
hstore
Description: Converts parameters to the hstore type.
Parameter: text, text
Return type: hstore
-
hstore_in
Description: Receives hstore data in string format.
Parameter: cstring
Return type: hstore
-
hstore_out
Description: Sends hstore data in string format.
Parameter: hstore
Return type: cstring
-
hstore_send
Description: Sends hstore data in bytea format.
Parameter: hstore
Return type: bytea
-
hstore_to_array
Description: Sends hstore data in text array format.
Parameter: hstore
Return type: text[]
-
hstore_to_matrix
Description: Sends hstore data in text array format.
Parameter: hstore
Return type: text[]
-
hstore_version_diag
Description: Sends hstore data in integer array format.
Parameter: hstore
Return type: integer
-
int1send
Description: Packs unsigned 1-byte integers into the internal data buffer stream.
Parameter: tinyint
Return type: bytea
-
isdefined
Description: Checks whether a specified key exists.
Parameter: hstore, text
Return type: Boolean
-
listagg
Description: Specifies aggregate functions of the list type.
Parameter: smallint, text
Return type: text
-
log_fdw_validator
Description: Specifies validation functions.
Parameter: text[], oid
Return type: void
-
nvarchar2typmodin
Description: Obtains the typmod information of the varchar type.
Parameter: cstring[]
Return type: integer
-
nvarchar2typmodout
Description: Obtains the typmod information of the varchar type, constructs a character string, and returns the character string.
Parameter: integer
Return type: cstring
-
read_disable_conn_file
Description: Reads forbidden connection files.
Parameter: nan
Return type: disconn_mode text, disconn_host text, disconn_port text, local_host text, local_port text, redo_finished text
-
regex_like_m
Description: Specifies the regular expression match, which is used to determine whether a character string complies with a specified regular expression.
Parameter: text, text
Return type: Boolean
-
update_pgjob
Description: Updates a job.
Parameter: bigint, "char", bigint, timestamp without time zone, timestamp without time zone, timestamp without time zone, timestamp without time zone, timestamp without time zone, smallint, text
Return type: void
-
enum_cmp
Description: Specifies the enumeration comparison function, which is used to determine whether two enumeration classes are equal and determine their relative sizes.
Parameter: anyenum, anyenum
Return type: integer
-
enum_eq
Description: Specifies the enumeration comparison function, which is used to implement the equal sign (=).
Parameter: anyenum, anyenum
Return type: Boolean
-
enum_first
Description: Returns the first element in the enumeration class.
Parameter: anyenum
Return type: anyenum
-
enum_ge
Description: Specifies the enumeration comparison function, which is used to implement the greater-than sign (>) and equal sign (=).
Parameter: anyenum, anyenum
Return type: Boolean
-
enum_gt
Description: Specifies the enumeration comparison function, which is used to implement the greater-than sign (>).
Parameter: anyenum, anyenum
Return type: Boolean
-
enum_in
Description: Specifies the enumeration comparison function, which is used to determine whether an element is in an enumeration class.
Parameter: cstring, oid
Return type: anyenum
-
enum_larger
Description: Specifies the enumeration comparison function, which is used to implement the greater-than sign (>).
Parameter: anyenum, anyenum
Return type: anyenum
-
enum_last
Description: Returns the last element in the enumeration class.
Parameter: anyenum
Return type: anyenum
-
enum_le
Description: Specifies the enumeration comparison function, which is used to implement the less-than sign (<) and equal sign (=).
Parameter: anyenum, anyenum
Return type: Boolean
-
enum_lt
Description: Specifies the enumeration comparison function, which is used to implement the less-than sign (<).
Parameter: anyenum, anyenum
Return type: Boolean
-
enum_smaller
Description: Specifies the enumeration comparison function, which is used to implement the less-than sign (<).
Parameter: anyenum, anyenum
Return type: Boolean
-
node_oid_name
Description: Not supported.
Parameter: oid
Return type: cstring
-
pg_buffercache_pages
Description: Reads status data from a shared buffer.
Parameter: nan
Return type: setof record. The following table describes the return columns.
Table 1 Return column description
-
pg_check_xidlimit
Description: Checks whether nextxid is greater than or equal to xidwarnlimit.
Parameter: nan
Return type: Boolean
-
pg_comm_delay
Description: Displays the delay status of the communication library of a single DN.
Parameter: nan
Return type: text, text, integer, integer, integer, integer
-
pg_comm_recv_stream
Description: Displays the receiving stream status of all communication libraries on a single DN.
Parameter: nan
Return type: text, bigint, text, bigint, integer, integer, integer, text, bigint, integer, integer, integer, bigint, bigint, bigint, bigint, bigint
-
pg_comm_send_stream
Description: Displays the sending stream status of all communication libraries on a single DN.
Parameter: nan
Return type: text, bigint, text, bigint, integer, integer, integer, text, bigint, integer, integer, integer, bigint, bigint, bigint, bigint, bigint
-
pg_comm_status
Description: Displays the communication status of a single DN.
Parameter: nan
Return type: text, integer, integer, bigint, bigint, bigint, bigint, bigint, integer, integer, integer, integer, integer
-
pg_log_comm_status
Description: Prints some logs on the DN.
Parameter: nan
Return type: Boolean
-
pg_parse_clog
Description: Parses clog to obtain the status of xid.
Parameter: nan
Return type: xid xid, status text
-
pg_pool_ping
Description: Sets PoolerPing.
Parameter: Boolean
Return type: SETOF boolean
-
pg_resume_bkp_flag
Description: Obtains the delay xlong flag for backup and restoration.
Parameter: slot_name name
Return type: start_backup_flag boolean, to_delay boolean, ddl_delay_recycle_ptr text, rewind_time text
-
pgfadvise_DONTNEED
Description: Sets the DONTNEED flag for the current relationship. This means that if you need to free some memory, the operating system will first unload the pages of the file. The main idea is to unload files that are no longer in use (rather than pages that might be used).
Example:
cedric=# select * from pgfadvise_dontneed('pgbench_accounts'); relpath | os_page_size | rel_os_pages | os_pages_free --------------------+--------------+--------------+--------------- base/11874/16447 | 4096 | 262144 | 342071 base/11874/16447.1 | 4096 | 65726 | 408103 -
pgfadvise_WILLNEED
Description: Sets the WILLNEED flag for the current relationship. This means that the operating system will try to load as many pages as possible for that relationship. The main idea is to preload files during server startup. During file preloading, information such as the cache hit rate, error rate, and relationships and indexes that are most likely to be used may be used.
Example:
cedric=# select * from pgfadvise_willneed('pgbench_accounts'); relpath | os_page_size | rel_os_pages | os_pages_free --------------------+--------------+--------------+--------------- base/11874/16447 | 4096 | 262144 | 80650 base/11874/16447.1 | 4096 | 65726 | 80650 -
pgfadvise_NORMAL
Description: Sets the NORMAL flag for the current relationship.
-
pgfadvise_SEQUENTIAL
Description: Sets the SEQUENTIAL flag for the current relationship.
-
pgfadvise_RANDOM
Description: Sets the RANDOM flag for the current relationship.
-
pgfadvise_loader
Description: Allows direct interaction with the page cache. It may be used to load and/or unload a page from memory according to varbit representing a mapping of the page to be loaded/unloaded.
Example: The relationship name is pgbench_accounts, the segment number is 0, and any varbit mapping is used.
-- Loading and unloading cedric=# select * from pgfadvise_loader('pgbench_accounts', 0, true, true, B'111000'); relpath | os_page_size | os_pages_free | pages_loaded | pages_unloaded ------------------+--------------+---------------+--------------+---------------- base/11874/16447 | 4096 | 408376 | 3 | 3 -- Loading cedric=# select * from pgfadvise_loader('pgbench_accounts', 0, true, false, B'111000'); relpath | os_page_size | os_pages_free | pages_loaded | pages_unloaded ------------------+--------------+---------------+--------------+---------------- base/11874/16447 | 4096 | 408370 | 3 | 0 -- Unloading cedric=# select * from pgfadvise_loader('pgbench_accounts', 0, false, true, B'111000'); relpath | os_page_size | os_pages_free | pages_loaded | pages_unloaded ------------------+--------------+---------------+--------------+---------------- base/11874/16447 | 4096 | 408370 | 0 | 3 -
pgfincore
Description: Provides information about the file system cache (page cache).
Example:
cedric=# select * from pgfincore('pgbench_accounts'); relpath | segment | os_page_size | rel_os_pages | pages_mem | group_mem | os_pages_free | databit | pages_dirty | group_dirty --------------------+---------+--------------+--------------+-----------+-----------+---------------+---------+-------------+------------- base/11874/16447 | 0 | 4096 | 262144 | 3 | 1 | 408444 | | 0 | 0 base/11874/16447.1 | 1 | 4096 | 65726 | 0 | 0 | 408444 | | 0 | 0For a specified relationship, the function returns the following column:
- relpath: path of the relationship.
- segment: number of the segment to be analyzed.
- os_page_size: size of a page.
- rel_os_pages: total number of pages of the relationship.
- pages_mem: total number of pages of the relationship in the page cache. (not from the PostgreSQL shared buffer, but from the operating system cache).
- group_mem: number of groups of adjacent pages_mem.
- os_page_free: number of idle pages in the OS page cache.
- databit: varbit mapping of the file. To output this column, use pgfincore('pgbench_accounts', true) to activate it.
- pages_dirty: If the HAVE_FINCORE constant is defined, the platform provides related information, which is similar to pages_mem except for dirty pages.
- group_dirty: If the HAVE_FINCORE constant is defined, the platform provides related information, which is similar to group_mem except for dirty pages.
-
pgsysconf
Description: Outputs the size of the operating system block and the number of free pages in the operating system page buffer.
Example:
cedric=# select * from pgsysconf(); os_page_size | os_pages_free | os_total_pages --------------+---------------+---------------- 4096 | 80431 | 4094174 -
pgsysconf_pretty
Description: The function is similar to the preceding function. The difference is that the function converts the unit for easy reading.
Example:
cedric=# select * from pgsysconf_pretty(); os_page_size | os_pages_free | os_total_pages --------------+---------------+---------------- 4096 bytes | 314 MB | 16 GB -
pgfincore_drawer
Description: A very simple renderer. This function requires a varbit parameter. Generally, the value of this parameter comes from the databit return column of the pgfincore function. The value of the databit column consists of 0 and 1. If the value is 0, it indicates that the page is not in the page cache of the operating system. If the value is 1, it indicates that the page is in the page cache of the operating system.
Example:
cedric=# select * from pgfincore_drawer(B'000111'); drawer -------------- ... cedric=# select * from pgfincore_drawer(B'111000'); drawer -------------- ... -
psortoptions
Description: Returns the psort attribute.
Parameter: text[], boolean
Return type: bytea
-
xideq4
Description: Compares two values of the xid type to check whether they are the same.
Parameter: xid32, xid32
Return type: Boolean
-
xideqint8
Description: Compares values of the xid type and int8 type to check whether they are the same.
Parameter: xid, bigint
Return type: Boolean
-
xidlt
Description: Returns whether xid1 < xid2 is true.
Parameter: xid, xid
Return type: Boolean
-
xidlt4
Description: Returns whether xid1 < xid2 is true.
Parameter: xid32, xid32
Return type: Boolean