HomeMogDBMogDB StackUqbar
v3.1

Documentation:v3.1

Supported Versions:

Other Versions:

Other System Functions(2)

The following table lists the functions used by MogDB to implement internal system functions. You are not advised to use these functions. If you need to use them, contact Enmo 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: set of record. The following table describes the return columns.

    Name Type Description
    bufferid integer Internal ID of the buffer.
    relfilenode oid OID of the page ownership in the buffer.
    bucketid integer ID of the hash bucket where the buffer is located.
    storage_type bigint Storage type of data in the buffer.
    reltablespace oid OID of the tablespace where the data in the buffer is located.
    reldatabase oid OID of the database where the data in the buffer is located.
    relforknumber integer Branch type of the relation file where the data in the buffer is located.
    relblocknumber integer File block number of the data in the buffer in the relation file to which the data belongs.
    isdirty boolean Specifies whether the buffer is dirty.
    isvalid boolean Specifies whether the buffer is valid.
    usage_count smallint Number of used buffers.
    pinning_backends integer Number of backends that are using the buffer.
  • 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: This function set DONTNEED flag on the current relation. It means that the Operating System will first unload pages of the file if it need to free some memory. Main idea is to unload files when they are not usefull anymore (instead of perhaps more interesting pages)

    Parameter: a table name or an index name, the table can be partition table or subpartition table. Column-store tables and segment-page tables are not supported.

    Example:

    MogDB=# 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: This function set WILLNEED flag on the current relation. It means that the Operating Sytem will try to load as much pages as possible of the relation. Main idea is to preload files on server startup, perhaps using cache hit/miss ratio or most required relations/indexes.

    Parameter: a table name or an index name, the table can be partition table or subpartition table. Column-store tables and segment-page tables are not supported.

    Example:

    MogDB=# 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.

    Parameters:

    • The first parameter specifies the table name or index name. Partitioned tables and level-2 partitioned tables are supported. Column-store tables and segment-page tables are not supported.
    • The second parameter is forkname. The data of each relationship is stored in a so-called fork. Generally, the default value of forkname is main. This parameter can be omitted.
    • The third parameter specifies a relationship type. A character needs to be transferred. For a common relationship, the value of this parameter is 'r'. For a partitioned table, the value of this parameter is 'p'. For a level-2 partitioned table, the value of this parameter is 's'.
    • The fourth parameter: For a partition table, this parameter indicates the name of the partition. For a level-2 partitioned table, this parameter indicates the name of the level-2 partition. For an ordinary table, set this parameter to NULL. If other values are transferred, the query of the ordinary table is not affected.
    • The fifth parameter specifies the segment number.
    • The sixth parameter returns a Boolean value, indicating whether to perform the load operation.
    • The seventh parameter returns a Boolean value, indicating whether to perform the unload operation.
    • The eighth parameter is databit. This parameter is generally obtained by using pgfincore().

    Example: The relationship name is pgbench_accounts, the segment number is 0, and any varbit mapping is used.

    -- Loading and unloading
    MogDB=# select * from pgfadvise_loader('pgbench_accounts', 'r', NULL, 0, true, true, B'111000');
    relpath      | os_page_size | os_pages_free | pages_loaded | pages_unloaded 
    ------------------+--------------+---------------+--------------+----------------
         base/11874/16447 |         4096 |        408376 |            3 |              3
        
    -- Loading
    MogDB=# select * from pgfadvise_loader('pgbench_accounts', 'r', NULL, 0, true, false, B'111000');
    relpath      | os_page_size | os_pages_free | pages_loaded | pages_unloaded 
    ------------------+--------------+---------------+--------------+----------------
     base/11874/16447 |         4096 |        408370 |            3 |              0
        
    -- Unloading
    MogDB=# select * from pgfadvise_loader('pgbench_accounts', 'r', NULL, 0, false, true, B'111000');
    relpath      | os_page_size | os_pages_free | pages_loaded | pages_unloaded 
    ------------------+--------------+---------------+--------------+----------------
    base/11874/16447 |         4096 |        408370 |            0 |              3
    
      
    -- This function can be used to restore the status of a table in the operating system cache.
    -- Snapshot
    cedric=# create table pgfincore_snapshot as
    cedric-#   select 'pgbench_accounts'::text as relname,*,now() as date_snapshot
    cedric-#   from pgfincore('pgbench_accounts',true);
    
    -- Restore
    cedric=# select * from pgfadvise_loader('pgbench_accounts', 'r', NULL, 0, true, true,
                            (select databit from  pgfincore_snapshot
                            where relname='pgbench_accounts' and segment = 0));
    relpath      | os_page_size | os_pages_free | pages_loaded | pages_unloaded 
    ------------------+--------------+---------------+--------------+----------------
    base/11874/16447 |         4096 |         80867 |       262144 |              0
  • pgfincore

    Description: Provides information about the file system cache (page cache).

    Parameter: table name or index name. Partitioned tables and level-2 partitioned tables are supported. Column-store tables and segment-page tables are not supported.

    Example:

    MogDB=# 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 |           0

    For 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. If no data is inserted into a table and true is used to activate the table, no value is displayed for this column.
    • 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:

    MogDB=# 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:

    MogDB=# 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:

     MogDB=# select * from pgfincore_drawer(B'000111');
      drawer       
     --------------
        ...     
        
    MogDB=# 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

Copyright © 2011-2024 www.enmotech.com All rights reserved.