9.30. Statistics Information Functions

|9.30. Statistics Information Functions|                    |                                  |                  |                      |
|:------------------------------------:|--------------------|----------------------------------|------------------|----------------------|
|[Prev](functions-event-triggers.html) |[Up](functions.html)|Chapter 9. Functions and Operators|[Home](index.html)| [Next](typeconv.html)|

---

## 9.30. Statistics Information Functions

[9.30.1. Inspecting MCV Lists](functions-statistics.html#FUNCTIONS-STATISTICS-MCV)

[]()

PostgreSQL provides a function to inspect complex statistics defined using the `CREATE STATISTICS` command.

### 9.30.1. Inspecting MCV Lists

[]()

```
pg_mcv_list_items ( pg_mcv_list ) → setof record

```

`pg_mcv_list_items` returns a set of records describing all items stored in a multi-column MCV list. It returns the following columns:

|      Name      |       Type       |           Description           |
|----------------|------------------|---------------------------------|
|    `index`     |    `integer`     |index of the item in the MCV list|
|    `values`    |     `text[]`     |  values stored in the MCV item  |
|    `nulls`     |   `boolean[]`    | flags identifying `NULL` values |
|  `frequency`   |`double precision`|   frequency of this MCV item    |
|`base_frequency`|`double precision`| base frequency of this MCV item |

 The `pg_mcv_list_items` function can be used like this:

```
SELECT m.* FROM pg_statistic_ext join pg_statistic_ext_data on (oid = stxoid),
                pg_mcv_list_items(stxdmcv) m WHERE stxname = 'stts';

```

 Values of the `pg_mcv_list` type can be obtained only from the `pg_statistic_ext_data`.`stxdmcv` column.

---

|[Prev](functions-event-triggers.html)|[Up](functions.html)|    [Next](typeconv.html)   |
|:------------------------------------|:------------------:|---------------------------:|
|    9.29. Event Trigger Functions    | [Home](index.html) | Chapter 10. Type Conversion|

 // \<![CDATA[ \<-- For SVG support if ('WebSocket' in window) { (function() { function refreshCSS() { var sheets = [].slice.call(document.getElementsByTagName("link")); var head = document.getElementsByTagName("head")[0]; for (var i = 0; i \< sheets.length; ++i) { var elem = sheets[i]; head.removeChild(elem); var rel = elem.rel; if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") { var url = elem.href.replace(/(&|\\?)\_cacheOverride=\\d+/, ''); elem.href = url + (url.indexOf('?') \>= 0 ? '&' : '?') + '\_cacheOverride=' + (new Date().valueOf()); } head.appendChild(elem); } } var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://'; var address = protocol + window.location.host + window.location.pathname + '/ws'; var socket = new WebSocket(address); socket.onmessage = function(msg) { if (msg.data == 'reload') window.location.reload(); else if (msg.data == 'refreshcss') refreshCSS(); }; console.log('Live reload enabled.'); })(); } // ]]\>