From a138e6693b53df27552639259a284764f9a59832 Mon Sep 17 00:00:00 2001 From: wangzhijun2018 Date: Wed, 5 Aug 2020 14:51:51 +0800 Subject: [PATCH] Global Temporary Table --- .../Developerguide/PG_GTT_ATTACHED_PIDS.md | 47 +++++++ .../zh/docs/Developerguide/PG_GTT_RELSTATS.md | 76 +++++++++++ .../zh/docs/Developerguide/PG_GTT_STATS.md | 118 ++++++++++++++++++ ...66\350\241\250\345\207\275\346\225\260.md" | 87 +++++++++++++ 4 files changed, 328 insertions(+) create mode 100644 content/zh/docs/Developerguide/PG_GTT_ATTACHED_PIDS.md create mode 100644 content/zh/docs/Developerguide/PG_GTT_RELSTATS.md create mode 100644 content/zh/docs/Developerguide/PG_GTT_STATS.md create mode 100644 "content/zh/docs/Developerguide/\345\205\250\345\261\200\344\270\264\346\227\266\350\241\250\345\207\275\346\225\260.md" diff --git a/content/zh/docs/Developerguide/PG_GTT_ATTACHED_PIDS.md b/content/zh/docs/Developerguide/PG_GTT_ATTACHED_PIDS.md new file mode 100644 index 000000000..12e134c54 --- /dev/null +++ b/content/zh/docs/Developerguide/PG_GTT_ATTACHED_PIDS.md @@ -0,0 +1,47 @@ +# PG\_GTT_ATTACHED_PIDS + +PG\_GTT_ATTACHED_PIDS视图查看哪些会话正在使用全局临时表,调用pg_get_attached_pid函数。 + +**表 1** PG\_GTT_ATTACHED_PIDS字段 + + + + + + + + + + + + + + + + + + + + + + + + +

名称

+

类型

+

描述

+

schemaname

+

name

+

schema名称。

+

tablename

+

name

+

全局临时表名。

+

relid

+

oid

+

全局临时表oid。

+

pids

+

bigint[]

+

线程pid列表。

+
+ + diff --git a/content/zh/docs/Developerguide/PG_GTT_RELSTATS.md b/content/zh/docs/Developerguide/PG_GTT_RELSTATS.md new file mode 100644 index 000000000..3ae94e0da --- /dev/null +++ b/content/zh/docs/Developerguide/PG_GTT_RELSTATS.md @@ -0,0 +1,76 @@ +# PG\_GTT_RELSTATS + +PG\_GTT_RELSTATS视图查看当前会话所有全局临时表基本信息,调用pg_get_gtt_relstats函数。 + +**表 1** PG\_GTT_RELSTATS字段 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

名称

+

类型

+

描述

+

schemaname

+

name

+

schema名称。

+

tablename

+

name

+

全局临时表名。

+

relfilenode

+

oid

+

relfilenode。

+

relpages

+

integer

+

全局临时表的磁盘页面数。

+

reltuples

+

real

+

全局临时表的记录数。

+

relallvisible

+

integer

+

被标识为全可见的页面数。

+

relfrozenxid

+

xid

+

该表中所有在这个之前的事务ID已经被一个固定的("frozen")事务ID替换。

+

relminmxid

+

xid

+

暂时没用。

+
+ + diff --git a/content/zh/docs/Developerguide/PG_GTT_STATS.md b/content/zh/docs/Developerguide/PG_GTT_STATS.md new file mode 100644 index 000000000..af977ef5c --- /dev/null +++ b/content/zh/docs/Developerguide/PG_GTT_STATS.md @@ -0,0 +1,118 @@ +# PG\_GTT_STATS + +PG\_GTT_STATS视图查看当前会话所有全局临时表单列统计信息,调用pg_get_gtt_statistics函数。 + +**表 1** PG\_GTT_STATS字段 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

名称

+

类型

+

描述

+

schemaname

+

name

+

schema名称。

+

tablename

+

name

+

全局临时表名。

+

attname

+

name

+

属性名。

+

inherited

+

boolean

+

是否统计有继承关系的对象。

+

null_frac

+

real

+

该字段中为NULL的记录的比率。

+

avg_width

+

integer

+

非NULL记录的平均存储宽度,以字节计。

+

n_distinct

+

real

+

标识全局统计信息中字段里唯一的非NULL数据值的数目。

+

most_common_vals

+

text[]

+

高频值列表,按照出现的频率排序。

+

most_common_freqs

+

real[]

+

高频值的频率。

+

histogram_bounds

+

text[]

+

等频直方图描述列中的数据分布(不包含高频值)。

+

correlation

+

real

+

相关系数。

+

most_common_elems

+

text[]

+

类型高频值列表,用于数组类型或一些其他类型。

+

most_common_elem_freqs

+

real[]

+

类型高频值的频率。

+

elem_count_histogram

+

real[]

+

数组类型直方图。

+
+ + diff --git "a/content/zh/docs/Developerguide/\345\205\250\345\261\200\344\270\264\346\227\266\350\241\250\345\207\275\346\225\260.md" "b/content/zh/docs/Developerguide/\345\205\250\345\261\200\344\270\264\346\227\266\350\241\250\345\207\275\346\225\260.md" new file mode 100644 index 000000000..7ac270adf --- /dev/null +++ "b/content/zh/docs/Developerguide/\345\205\250\345\261\200\344\270\264\346\227\266\350\241\250\345\207\275\346\225\260.md" @@ -0,0 +1,87 @@ +# 全局临时表函数 + +- - pg_get_gtt_relstats(relOid) + + 描述:显示当前会话指定的全局临时表的基本信息。 + + 参数:全局临时表的OID。 + + 返回值类型:record + + 示例: + + ``` + postgres=# select * from pg_get_gtt_relstats(74069); + relfilenode | relpages | reltuples | relallvisible | relfrozenxid | relminmxid + -------------+----------+-----------+---------------+--------------+------------ + 74069 | 58 | 13000 | 0 | 11151 | 0 + (1 row) + ``` + + - pg_get_gtt_statistics(relOid, attnum, ''::text) + + 描述:显示当前会话指定的全局临时表的单列统计信息。 + + 参数:全局临时表的OID和属性attnum。 + + 返回值类型:record + + 示例: + + ``` + postgres=# select * from pg_get_gtt_statistics(74069,1,''::text); + starelid | starelkind | staattnum | stainherit | stanullfrac | stawidth | stadistinct | stakind1 | stakind2 | stakind3 | stakind4 | stakind5 | staop1 | staop2 | staop3 | staop4 | staop5 | stanumbers1 | stanumbers2 | stanumbers3 | stanu + mbers4 | stanumbers5 | + stavalues1 + | stavalues2 | stavalues3 | stavalues4 | stavalues5 | stadndistinct | staextinfo + ----------+------------+-----------+------------+-------------+----------+-------------+----------+----------+----------+----------+----------+--------+--------+--------+--------+--------+-------------+-------------+-------------+------ + -------+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + ------------------------------------------------------------------------+------------+------------+------------+------------+---------------+------------ + 74069 | c | 1 | f | 0 | 4 | -1 | 2 | 3 | 0 | 0 | 0 | 97 | 97 | 0 | 0 | 0 | | {1} | | + | | {1,130,260,390,520,650,780,910,1040,1170,1300,1430,1560,1690,1820,1950,2080,2210,2340,2470,2600,2730,2860,2990,3120,3250,3380,3510,3640,3770,3900,4030,4160,4290,4420,4550,4680,4810,4940,5070,5200,5330,5460,5590,57 + 20,5850,5980,6110,6240,6370,6500,6630,6760,6890,7020,7150,7280,7410,7540,7670,7800,7930,8060,8190,8320,8450,8580,8710,8840,8970,9100,9230,9360,9490,9620,9750,9880,10010,10140,10270,10400,10530,10660,10790,10920,11050,11180,11310,11440,1 + 1570,11700,11830,11960,12090,12220,12350,12480,12610,12740,12870,13000} | | | | | 0 | + (1 row) + ``` + + - pg_gtt_attached_pid(relOid) + + 描述:显示正在使用指定全局临时表的所有线程pid。 + + 参数:全局临时表的OID。 + + 返回值类型:record + + 示例: + + ``` + postgres=# select * from pg_gtt_attached_pid(74069); + relid | pid + -------+----------------- + 74069 | 139648170456832 + 74069 | 139648123270912 + (2 rows) + ``` + + - pg_list_gtt_relfrozenxids() + + 描述:显示各会话的冻结事务xid。 + + pid=0的行,显示所有会话中最老的冻结事务xid。 + + 参数:无。 + + 返回值类型:record + + 示例: + + ``` + postgres=# select * from pg_list_gtt_relfrozenxids(); + pid | relfrozenxid + -----------------+-------------- + 139648123270912 | 11151 + 139648170456832 | 11155 + 0 | 11151 + (3 rows) + ``` -- Gitee