Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CN/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
146 changes: 146 additions & 0 deletions CN/modules/ROOT/pages/master/5.8.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@

:sectnums:
:sectnumlevels: 5

= plpgsql_check
Comment thread
bigplaice marked this conversation as resolved.
Outdated

== 概述
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)
......
----
1 change: 1 addition & 0 deletions EN/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
148 changes: 148 additions & 0 deletions EN/modules/ROOT/pages/master/5.8.adoc
Original file line number Diff line number Diff line change
@@ -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)
......
----