SHOW WARNINGS/ERRORS
Function
SHOW WARNINGS/ERRORS displays information about storage functions.
Precautions
- The added system parameter sql_note determines whether to display note-level information in SHOW WARNINGS. 
- The Code column shows the error codes. The meaning of the number corresponds to the macro definition in ERRCODE. The status macros of various information are generated by the MAKE_SQLSTATE(ch1, ch2, ch3, ch4, ch5). MAKE_SQLSTATE is used to subtract '0' from the ASCII codes of ch1 to ch5, and then obtain the last six bits of the binary codes to obtain res1 to res5. The five data records form a 30-bit binary result (res5res4res3res2res1) from the least significant bit to the most significant bit. The result is converted into a decimal number, that is, the number of the error code. Different error code numbers correspond to different status macros. 
Syntax
SHOW WARNINGS [LIMIT [offset,] row_count]
SHOW COUNT(*) WARNINGS
SHOW ERRORS [LIMIT [offset,] row_count]
SHOW COUNT(*) ERRORS
Parameter Description
- row_count - Maximum rows of warnings/errors information generated by the previous SQL statement. 
- offset - Sequence number of the row from which the information is displayed. 
- Added system parameter - sql_note determines whether to display note-level information in SHOW WARNINGS. 
Return Result Set
| Column | Type | Description | 
|---|---|---|
| Level | Character | Information level (Note/Warning/Error) | 
| Code | Integer | Error code corresponding to the information status | 
| Message | Character | Information content | 
Examples
openGauss=# show sql_note;
 sql_note
----------
 on
(1 row)
openGauss=# create table test(id int, name varchar default 11);
CREATE TABLE
openGauss=# create table test(id int, name varchar default 11);
ERROR:  relation "test" already exists in schema "public"
DETAIL:  creating new table with existing name in the same schema
openGauss=# show warnings limit 1;
 level |   code    |                      message
-------+-----------+---------------------------------------------------
 Error | 117571716 | relation "test" already exists in schema "public"
(1 row)
openGauss=# show count(*) warnings;
 count
-------
     1
(1 row)
openGauss=# CREATE OR REPLACE FUNCTION TEST_FUNC(tempdata char) RETURNS VOID AS $$
openGauss$# BEGIN
openGauss$# raise info'TEST CHAR VALUE IS %',tempdata;
openGauss$# END;
openGauss$# $$ LANGUAGE plpgsql;
CREATE FUNCTION
openGauss=# select TEST_FUNC('abc'::clob);
INFO:  TEST CHAR VALUE IS abc
CONTEXT:  referenced column: test_func
 test_func
-----------
(1 row)
openGauss=# show warnings;
 level | code |        message
-------+------+------------------------
 Note  |    0 | TEST CHAR VALUE IS abc
(1 row)
openGauss=# set sql_note=false;
SET
openGauss=# select TEST_FUNC('abc'::clob);
INFO:  TEST CHAR VALUE IS abc
CONTEXT:  referenced column: test_func
 test_func
-----------
(1 row)
openGauss=# show warnings;
 level | code | message
-------+------+---------
(0 rows)
openGauss=# SELECT pg_advisory_unlock(1), pg_advisory_unlock_shared(2), pg_advisory_unlock(1, 1), pg_advisory_unlock_shared(2, 2);
WARNING:  you don't own a lock of type ExclusiveLock
CONTEXT:  referenced column: pg_advisory_unlock
WARNING:  you don't own a lock of type ShareLock
CONTEXT:  referenced column: pg_advisory_unlock_shared
WARNING:  you don't own a lock of type ExclusiveLock
CONTEXT:  referenced column: pg_advisory_unlock
WARNING:  you don't own a lock of type ShareLock
CONTEXT:  referenced column: pg_advisory_unlock_shared
 pg_advisory_unlock | pg_advisory_unlock_shared | pg_advisory_unlock | pg_advisory_unlock_shared
--------------------+---------------------------+--------------------+---------------------------
 f                  | f                         | f                  | f
(1 row)
openGauss=# show warnings;
  level  | code |                  message
---------+------+--------------------------------------------
 Warning |   64 | you don't own a lock of type ExclusiveLock
 Warning |   64 | you don't own a lock of type ShareLock
 Warning |   64 | you don't own a lock of type ExclusiveLock
 Warning |   64 | you don't own a lock of type ShareLock
(4 rows)
openGauss=# show warnings limit 2, 4;
  level  | code |                  message
---------+------+--------------------------------------------
 Warning |   64 | you don't own a lock of type ExclusiveLock
 Warning |   64 | you don't own a lock of type ShareLock
(2 rows)
(3 rows)
```sql
--sql\_note is used to determine whether to store note information.
CREATE OR REPLACE FUNCTION TEST_FUNC(tempdata char) RETURNS VOID AS $$
BEGIN
	raise info'TEST CHAR VALUE IS %',tempdata;  
END;
$$ LANGUAGE plpgsql;
select TEST_FUNC('abc'::clob);
INFO:  TEST CHAR VALUE IS abc
CONTEXT:  referenced column: test_func
 test_func 
-----------
 
(1 row)
show warnings;
 level | code |        message         
-------+------+------------------------
 Note  |    0 | TEST CHAR VALUE IS abc
(1 row)
set sql_note=false;
select TEST_FUNC('abc'::clob);
INFO:  TEST CHAR VALUE IS abc
CONTEXT:  referenced column: test_func
 test_func 
-----------
 
(1 row)
show warnings;
 level | code | message 
-------+------+---------
(0 rows)