From ede773f6c0a2776db1600f40276305e733185fff Mon Sep 17 00:00:00 2001 From: Steven Niu Date: Thu, 6 Nov 2025 13:43:39 +0800 Subject: [PATCH 1/3] Add system-stats doc --- CN/modules/ROOT/nav.adoc | 1 + CN/modules/ROOT/pages/master/5.8.adoc | 146 +++++++++++++++++++++++++ EN/modules/ROOT/nav.adoc | 1 + EN/modules/ROOT/pages/master/5.8.adoc | 148 ++++++++++++++++++++++++++ 4 files changed, 296 insertions(+) create mode 100644 CN/modules/ROOT/pages/master/5.8.adoc create mode 100644 EN/modules/ROOT/pages/master/5.8.adoc diff --git a/CN/modules/ROOT/nav.adoc b/CN/modules/ROOT/nav.adoc index 6b7078c..8e452c5 100644 --- a/CN/modules/ROOT/nav.adoc +++ b/CN/modules/ROOT/nav.adoc @@ -19,6 +19,7 @@ *** xref:master/5.4.adoc[pg_cron] *** xref:master/5.5.adoc[pgsql-http] *** xref:master/5.6.adoc[plpgsql_check] +*** xref:master/5.8.adoc[system_stats] ** IvorySQL架构设计 *** 查询处理 **** xref:master/6.1.1.adoc[双parser] diff --git a/CN/modules/ROOT/pages/master/5.8.adoc b/CN/modules/ROOT/pages/master/5.8.adoc new file mode 100644 index 0000000..d11bbac --- /dev/null +++ b/CN/modules/ROOT/pages/master/5.8.adoc @@ -0,0 +1,146 @@ + +:sectnums: +:sectnumlevels: 5 + += plpgsql_check + +== 概述 +system_stats 是一个 PostgreSQL 扩展,提供用于访问系统级统计信息的函数,可用于监控场景。 + +== 安装 + +[TIP] +源码安装环境为 Ubuntu 24.04(x86_64),环境中已经安装了IvorySQL5及以上版本,安装路径为/usr/local/ivorysql/ivorysql-5 + +=== 源码安装 + +[literal] +---- +# 从 https://github.com/EnterpriseDB/system_stats/releases/tag/v3.2 下载 3.2 的源码包 v3.2.zip +unzip v3.2.zip +cd system_stats-3.2 + +# 编译安装插件 +make PG_CONFIG=/usr/local/ivorysql/ivorysql-5/bin/pg_config +make PG_CONFIG=/usr/local/ivorysql/ivorysql-5/bin/pg_config install +---- + +== 创建插件并确认版本 + +psql 连接到数据库,执行如下命令: +[literal] +---- +ivorysql=# CREATE EXTENSION system_stats; +CREATE EXTENSION + +ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'system_stats'; + name | default_version | installed_version | comment +--------------+-----------------+-------------------+----------------------------------------------- + system_stats | 3.0 | 3.0 | EnterpriseDB system statistics for PostgreSQL +(1 row) +---- + +== 使用 + +[literal] +---- +ivorysql=> select pg_sys_os_info() from dual; + pg_sys_os_info +-------------------------------------------------------------------------- + ("""Ubuntu 24.04.1 LTS"" + + ","Linux 6.14.0-29-generic",Ubuntu,"(none)",5568,292,532,x86_64,,864122) +(1 row) + + + +ivorysql=> select pg_sys_cpu_info() from dual; + pg_sys_cpu_info +------------------------------------------------------------------------------------------------------------------------------------- + (GenuineIntel,"GenuineIntel model 154 family 6","12th Gen Intel(R) Core(TM) i7-1260P",,0,2,1,x86_64,2496000000,,,,48,32,1280,18432) +(1 row) + + +ivorysql=> select pg_sys_cpu_usage_info() from dual; + pg_sys_cpu_usage_info +----------------------- + (0,0,0,100,0,0,0,,,,) +(1 row) + + +ivorysql=> select pg_sys_memory_info() from dual; + pg_sys_memory_info +----------------------------------------------------------------------------------- + (4055482368,3911159808,144322560,4055887872,233725952,3822161920,2638602240,,,,,) +(1 row) + + +ivorysql=> select pg_sys_io_analysis_info() from dual; + pg_sys_io_analysis_info +--------------------------------------------------------------- + (loop0,15,0,21504,0,1,0) + (loop1,1362,0,27916288,0,680,0) + (loop2,175,0,3354624,0,131,0) + (loop3,141,0,1827840,0,83,0) + (loop4,918,0,32752640,0,212,0) + (loop5,156,0,2617344,0,67,0) + (loop6,3707,0,131992576,0,828,0) + (loop7,243,0,4321280,0,95,0) + (fd0,0,0,0,0,0,0) + (sda,639286,1580583,26547332096,240138948608,402702,2744653) + (sda1,561,0,22966272,0,61,0) + (sda2,636820,1580583,26491053056,240138948608,402316,2744653) + (sr0,87,0,3219456,0,45,0) + (sr1,0,0,0,0,0,0) + (loop8,228,0,2491392,0,120,0) + (loop10,2333,0,36571136,0,1628,0) + (loop9,3730,0,66532352,0,3973,0) + (loop11,87,0,709632,0,50,0) + (loop12,156,0,1948672,0,52,0) + (loop14,2579,0,97446912,0,2083,0) + (loop13,30,0,102400,0,14,0) + (loop15,82,0,1189888,0,117,0) + (loop16,1357,0,28335104,0,500,0) + (loop17,110,0,2187264,0,93,0) + (loop18,129,0,2355200,0,28,0) + (loop19,110,0,2202624,0,55,0) +(26 rows) + + +ivorysql=> select pg_sys_disk_info() from dual; + pg_sys_disk_info +---------------------------------------------------------------------------------- + (/,/dev/sda2,,,ext4,105086115840,50903396352,48797392896,6553600,619735,5933865) +(1 row) + + +ivorysql=> select pg_sys_load_avg_info() from dual; + pg_sys_load_avg_info +---------------------- + (0,0,0,) +(1 row) + + +ivorysql=> select pg_sys_process_info() from dual; + pg_sys_process_info +--------------------- + (294,1,201,0,0) +(1 row) + + +ivorysql=> select pg_sys_network_info() from dual; + pg_sys_network_info +----------------------------------------------------------------------------- + (lo,127.0.0.1,1071575,5643,0,0,1071575,5643,0,0,0) + (ens33,192.168.198.128,619877515,1490961,0,161,5540250106,4345449,0,0,1000) +(2 rows) + + +ivorysql=> select pg_sys_cpu_memory_by_process() from dual; + pg_sys_cpu_memory_by_process +----------------------------------------------------------------------- + (1,"(systemd)",864793,0,0.34,13840384) + (2,"(kthreadd)",864793,0,0,0) + (3,"(pool_workqueue_release)",864793,0,0,0) + (4,"(kworker/R-rcu_gp)",864793,0,0,0) +...... +---- diff --git a/EN/modules/ROOT/nav.adoc b/EN/modules/ROOT/nav.adoc index a61931b..bf7cdeb 100644 --- a/EN/modules/ROOT/nav.adoc +++ b/EN/modules/ROOT/nav.adoc @@ -18,6 +18,7 @@ ** xref:master/5.4.adoc[pg_cron] ** xref:master/5.5.adoc[pgsql-http] ** xref:master/5.6.adoc[plpgsql_check] +** xref:master/5.8.adoc[system_stats] * IvorySQL Architecture Design ** Query Processing *** xref:master/6.1.1.adoc[Dual Parser] diff --git a/EN/modules/ROOT/pages/master/5.8.adoc b/EN/modules/ROOT/pages/master/5.8.adoc new file mode 100644 index 0000000..ac319a1 --- /dev/null +++ b/EN/modules/ROOT/pages/master/5.8.adoc @@ -0,0 +1,148 @@ + +:sectnums: +:sectnumlevels: 5 + += plpgsql_check + +== Overview +system_stats is a Postgres extension that provides functions to access system level statistics that can be used for monitoring. + +== Installation + +[TIP] +The source code installation environment is Ubuntu 24.04 (x86_64), in which IvorySQL 5 or a later version has been installed. The installation path is /usr/local/ivorysql/ivorysql-5. + +=== Source Code Installation + +[literal] +---- +# download source code package from: https://github.com/EnterpriseDB/system_stats/releases/tag/v3.2 +unzip v3.2.zip +cd system_stats-3.2 + +# compile and install the extension +make PG_CONFIG=/usr/local/ivorysql/ivorysql-5/bin/pg_config +make PG_CONFIG=/usr/local/ivorysql/ivorysql-5/bin/pg_config install +---- + +== Create extension and confirm the version + +connect the database with psql in Oracle compatible mode and execute the following commands: + +[literal] +---- +ivorysql=# CREATE EXTENSION system_stats; +CREATE EXTENSION + +ivorysql=# SELECT * FROM pg_available_extensions WHERE name = 'system_stats'; + name | default_version | installed_version | comment +--------------+-----------------+-------------------+----------------------------------------------- + system_stats | 3.0 | 3.0 | EnterpriseDB system statistics for PostgreSQL +(1 row) +---- + +== 使用 + +[literal] +---- +ivorysql=> select pg_sys_os_info() from dual; + pg_sys_os_info +-------------------------------------------------------------------------- + ("""Ubuntu 24.04.1 LTS"" + + ","Linux 6.14.0-29-generic",Ubuntu,"(none)",5568,292,532,x86_64,,864122) +(1 row) + + + +ivorysql=> select pg_sys_cpu_info() from dual; + pg_sys_cpu_info +------------------------------------------------------------------------------------------------------------------------------------- + (GenuineIntel,"GenuineIntel model 154 family 6","12th Gen Intel(R) Core(TM) i7-1260P",,0,2,1,x86_64,2496000000,,,,48,32,1280,18432) +(1 row) + + +ivorysql=> select pg_sys_cpu_usage_info() from dual; + pg_sys_cpu_usage_info +----------------------- + (0,0,0,100,0,0,0,,,,) +(1 row) + + +ivorysql=> select pg_sys_memory_info() from dual; + pg_sys_memory_info +----------------------------------------------------------------------------------- + (4055482368,3911159808,144322560,4055887872,233725952,3822161920,2638602240,,,,,) +(1 row) + + +ivorysql=> select pg_sys_io_analysis_info() from dual; + pg_sys_io_analysis_info +--------------------------------------------------------------- + (loop0,15,0,21504,0,1,0) + (loop1,1362,0,27916288,0,680,0) + (loop2,175,0,3354624,0,131,0) + (loop3,141,0,1827840,0,83,0) + (loop4,918,0,32752640,0,212,0) + (loop5,156,0,2617344,0,67,0) + (loop6,3707,0,131992576,0,828,0) + (loop7,243,0,4321280,0,95,0) + (fd0,0,0,0,0,0,0) + (sda,639286,1580583,26547332096,240138948608,402702,2744653) + (sda1,561,0,22966272,0,61,0) + (sda2,636820,1580583,26491053056,240138948608,402316,2744653) + (sr0,87,0,3219456,0,45,0) + (sr1,0,0,0,0,0,0) + (loop8,228,0,2491392,0,120,0) + (loop10,2333,0,36571136,0,1628,0) + (loop9,3730,0,66532352,0,3973,0) + (loop11,87,0,709632,0,50,0) + (loop12,156,0,1948672,0,52,0) + (loop14,2579,0,97446912,0,2083,0) + (loop13,30,0,102400,0,14,0) + (loop15,82,0,1189888,0,117,0) + (loop16,1357,0,28335104,0,500,0) + (loop17,110,0,2187264,0,93,0) + (loop18,129,0,2355200,0,28,0) + (loop19,110,0,2202624,0,55,0) +(26 rows) + + +ivorysql=> select pg_sys_disk_info() from dual; + pg_sys_disk_info +---------------------------------------------------------------------------------- + (/,/dev/sda2,,,ext4,105086115840,50903396352,48797392896,6553600,619735,5933865) +(1 row) + + +ivorysql=> select pg_sys_load_avg_info() from dual; + pg_sys_load_avg_info +---------------------- + (0,0,0,) +(1 row) + + +ivorysql=> select pg_sys_process_info() from dual; + pg_sys_process_info +--------------------- + (294,1,201,0,0) +(1 row) + + +ivorysql=> select pg_sys_network_info() from dual; + pg_sys_network_info +----------------------------------------------------------------------------- + (lo,127.0.0.1,1071575,5643,0,0,1071575,5643,0,0,0) + (ens33,192.168.198.128,619877515,1490961,0,161,5540250106,4345449,0,0,1000) +(2 rows) + + +ivorysql=> select pg_sys_cpu_memory_by_process() from dual; + pg_sys_cpu_memory_by_process +----------------------------------------------------------------------- + (1,"(systemd)",864793,0,0.34,13840384) + (2,"(kthreadd)",864793,0,0,0) + (3,"(pool_workqueue_release)",864793,0,0,0) + (4,"(kworker/R-rcu_gp)",864793,0,0,0) +...... +---- + From a10c71e8fd2374df719f9e364aef88c7672872ce Mon Sep 17 00:00:00 2001 From: Steven Niu Date: Tue, 11 Nov 2025 10:33:01 +0800 Subject: [PATCH 2/3] Fix typo --- CN/modules/ROOT/pages/master/5.8.adoc | 2 +- EN/modules/ROOT/pages/master/5.8.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CN/modules/ROOT/pages/master/5.8.adoc b/CN/modules/ROOT/pages/master/5.8.adoc index d11bbac..95dbee6 100644 --- a/CN/modules/ROOT/pages/master/5.8.adoc +++ b/CN/modules/ROOT/pages/master/5.8.adoc @@ -2,7 +2,7 @@ :sectnums: :sectnumlevels: 5 -= plpgsql_check += system_stats == 概述 system_stats 是一个 PostgreSQL 扩展,提供用于访问系统级统计信息的函数,可用于监控场景。 diff --git a/EN/modules/ROOT/pages/master/5.8.adoc b/EN/modules/ROOT/pages/master/5.8.adoc index ac319a1..ff22ffd 100644 --- a/EN/modules/ROOT/pages/master/5.8.adoc +++ b/EN/modules/ROOT/pages/master/5.8.adoc @@ -2,7 +2,7 @@ :sectnums: :sectnumlevels: 5 -= plpgsql_check += system_stats == Overview system_stats is a Postgres extension that provides functions to access system level statistics that can be used for monitoring. From 76fef66c0ca41083dfcfa95220083936b443e54b Mon Sep 17 00:00:00 2001 From: Steven Niu Date: Tue, 11 Nov 2025 10:45:20 +0800 Subject: [PATCH 3/3] adjust section number --- CN/modules/ROOT/nav.adoc | 2 +- CN/modules/ROOT/pages/master/{5.8.adoc => 5.10.adoc} | 0 EN/modules/ROOT/nav.adoc | 2 +- EN/modules/ROOT/pages/master/{5.8.adoc => 5.10.adoc} | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename CN/modules/ROOT/pages/master/{5.8.adoc => 5.10.adoc} (100%) rename EN/modules/ROOT/pages/master/{5.8.adoc => 5.10.adoc} (100%) diff --git a/CN/modules/ROOT/nav.adoc b/CN/modules/ROOT/nav.adoc index 8e452c5..77c8e26 100644 --- a/CN/modules/ROOT/nav.adoc +++ b/CN/modules/ROOT/nav.adoc @@ -19,7 +19,7 @@ *** xref:master/5.4.adoc[pg_cron] *** xref:master/5.5.adoc[pgsql-http] *** xref:master/5.6.adoc[plpgsql_check] -*** xref:master/5.8.adoc[system_stats] +*** xref:master/5.10.adoc[system_stats] ** IvorySQL架构设计 *** 查询处理 **** xref:master/6.1.1.adoc[双parser] diff --git a/CN/modules/ROOT/pages/master/5.8.adoc b/CN/modules/ROOT/pages/master/5.10.adoc similarity index 100% rename from CN/modules/ROOT/pages/master/5.8.adoc rename to CN/modules/ROOT/pages/master/5.10.adoc diff --git a/EN/modules/ROOT/nav.adoc b/EN/modules/ROOT/nav.adoc index bf7cdeb..70e63fd 100644 --- a/EN/modules/ROOT/nav.adoc +++ b/EN/modules/ROOT/nav.adoc @@ -18,7 +18,7 @@ ** xref:master/5.4.adoc[pg_cron] ** xref:master/5.5.adoc[pgsql-http] ** xref:master/5.6.adoc[plpgsql_check] -** xref:master/5.8.adoc[system_stats] +** xref:master/5.10.adoc[system_stats] * IvorySQL Architecture Design ** Query Processing *** xref:master/6.1.1.adoc[Dual Parser] diff --git a/EN/modules/ROOT/pages/master/5.8.adoc b/EN/modules/ROOT/pages/master/5.10.adoc similarity index 100% rename from EN/modules/ROOT/pages/master/5.8.adoc rename to EN/modules/ROOT/pages/master/5.10.adoc