首页 > 其他分享 >pg添加插件

pg添加插件

时间:2024-12-17 17:56:30浏览次数:10  
标签:插件 plans show -- 添加 master pg inflating


下载:
https://github.com/cybertec-postgresql/pg_show_plans

 

[root@pg1 ~]# unzip pg_show_plans-master.zip
Archive: pg_show_plans-master.zip
b9f71815a911a186ffda53d356242a0150a1746b
creating: pg_show_plans-master/
inflating: pg_show_plans-master/.editorconfig
creating: pg_show_plans-master/.github/
creating: pg_show_plans-master/.github/ISSUE_TEMPLATE/
inflating: pg_show_plans-master/.github/ISSUE_TEMPLATE/bug_report.md
creating: pg_show_plans-master/.github/workflows/
inflating: pg_show_plans-master/.github/workflows/installcheck.yml
inflating: pg_show_plans-master/.gitignore
inflating: pg_show_plans-master/LICENSE
inflating: pg_show_plans-master/Makefile
inflating: pg_show_plans-master/README.md
creating: pg_show_plans-master/expected/
inflating: pg_show_plans-master/expected/formats.out
inflating: pg_show_plans-master/expected/formats_1.out
inflating: pg_show_plans-master/expected/pg_show_plans.out
inflating: pg_show_plans-master/pg_show_plans--1.0--1.1.sql
inflating: pg_show_plans-master/pg_show_plans--1.1--2.0.sql
inflating: pg_show_plans-master/pg_show_plans--2.0--2.1.sql
inflating: pg_show_plans-master/pg_show_plans--2.1.sql
inflating: pg_show_plans-master/pg_show_plans.c
inflating: pg_show_plans-master/pg_show_plans.control
linking: pg_show_plans-master/pg_show_plans.md -> README.md
creating: pg_show_plans-master/sql/
inflating: pg_show_plans-master/sql/formats.sql
inflating: pg_show_plans-master/sql/pg_show_plans.sql
finishing deferred symbolic links:
pg_show_plans-master/pg_show_plans.md -> README.md
[root@pg1 ~]# cd pg_show_plans-master/
[root@pg1 pg_show_plans-master]#


[root@pg1 ~]# cd pg_show_plans-master/
[root@pg1 pg_show_plans-master]# make
gcc -std=gnu99 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -Wformat -fPIC -I. -I./ -I/opt/pgsql/include/server -I/opt/pgsql/include/internal -D_GNU_SOURCE -c -o pg_show_plans.o pg_show_plans.c
gcc -std=gnu99 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -Wformat -fPIC -shared -o pg_show_plans.so pg_show_plans.o -L/opt/pgsql/lib -Wl,--as-needed -Wl,-rpath,'/opt/pgsql/lib',--enable-new-dtags
[root@pg1 pg_show_plans-master]# make install
/usr/bin/mkdir -p '/opt/pgsql/lib'
/usr/bin/mkdir -p '/opt/pgsql/share/extension'
/usr/bin/mkdir -p '/opt/pgsql/share/extension'
/usr/bin/mkdir -p '/opt/pgsql/share/doc/extension'
/usr/bin/install -c -m 755 pg_show_plans.so '/opt/pgsql/lib/pg_show_plans.so'
/usr/bin/install -c -m 644 .//pg_show_plans.control '/opt/pgsql/share/extension/'
/usr/bin/install -c -m 644 .//pg_show_plans--1.0--1.1.sql .//pg_show_plans--1.1--2.0.sql .//pg_show_plans--2.0--2.1.sql .//pg_show_plans--2.1.sql '/opt/pgsql/share/extension/'
/usr/bin/install -c -m 644 .//pg_show_plans.md '/opt/pgsql/share/doc/extension/'
[root@pg1 pg_show_plans-master]#

 


[root@pg1 pg_show_plans-master]# cat /opt/pgsql/data/postgresql.conf|grep shared_preload_libraries
shared_preload_libraries = 'pg_stat_statements,powa,pg_show_plans' # (change requires restart)
[root@pg1 pg_show_plans-master]#

 


postgres=# CREATE EXTENSION pg_show_plans;
CREATE EXTENSION
postgres=# \dx
List of installed extensions
Name | Version | Schema | Description
--------------------+---------+------------+------------------------------------------------------------------------
btree_gist | 1.5 | public | support for indexing common datatypes in GiST
file_fdw | 1.0 | public | foreign-data wrapper for flat file access
pg_show_plans | 2.1 | public | show query plans of all currently running SQL statements
pg_stat_statements | 1.8 | public | track planning and execution statistics of all SQL statements executed
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
postgres_fdw | 1.0 | public | foreign-data wrapper for remote PostgreSQL servers
powa | 4.1.2 | public | PostgreSQL Workload Analyser-core
(7 rows)

postgres=#

 

##本人工具查看!
CommSQLPlus > param %lib%
CommSQLPlus >
CommSQLPlus >

+-----------------------------+--------+-----------------------------------------+---------------------------------------------------------------------+
|name |unit |setting |short_desc |
+-----------------------------+--------+-----------------------------------------+---------------------------------------------------------------------+
|dynamic_library_path | |$libdir |Sets the path for dynamically loadable modules. |
|local_preload_libraries | | |Lists unprivileged shared libraries to preload into each backend. |
|session_preload_libraries | | |Lists shared libraries to preload into each backend. |
|shared_preload_libraries | |pg_stat_statements,powa,pg_show_plans |Lists shared libraries to preload into server. |
|ssl_library | | |Name of the SSL library. |
+-----------------------------+--------+-----------------------------------------+---------------------------------------------------------------------+


https://github.com/cybertec-postgresql/pg_show_plans


pid | level | userid | dbid | plan
------+-------+--------+-------+-------------------------------------------------------------------------------------------
2023 | 0 | 19733 | 13580 | Limit (cost=0.00..16548.12 rows=1 width=570) +
| | | | -> Nested Loop (cost=0.00..3309623738.00 rows=200000 width=570) +
| | | | Join Filter: (a.c = c.c) +
| | | | -> Nested Loop (cost=0.00..1654815832.00 rows=200000 width=380) +
| | | | Join Filter: (a.c = b.c) +
| | | | -> Seq Scan on sbtest1 a (cost=0.00..7926.00 rows=200000 width=190) +
| | | | -> Materialize (cost=0.00..13680.00 rows=200000 width=190) +
| | | | -> Seq Scan on sbtest2 b (cost=0.00..7406.00 rows=200000 width=190)+
| | | | -> Materialize (cost=0.00..13680.00 rows=200000 width=190) +
| | | | -> Seq Scan on sbtest3 c (cost=0.00..7406.00 rows=200000 width=190)
(1 row)

postgres=#

 

 


pg_show_plans.plan_format = text: query plans output format, either of text, json, yaml, and xml.
pg_show_plans.max_plan_length = 16384: query plan maximal length in bytes. This value affects the amount of shared memory the extension asks for, the server may not start if the value is too high.
pg_show_plans.is_enabled = true: enable or disable the extension by assigning to this variable.

 


在PostgreSQL中,可以通过查询系统视图和日志来查看用户执行的查询。

查询系统视图:
使用pg_stat_activity视图可以查看当前活动的数据库会话和查询信息。该视图包含了会话的进程ID、用户名、当前查询、查询开始时间等信息。可以通过以下查询语句查看:
使用pg_stat_activity视图可以查看当前活动的数据库会话和查询信息。该视图包含了会话的进程ID、用户名、当前查询、查询开始时间等信息。可以通过以下查询语句查看:
使用pg_stat_statements扩展可以查看数据库中执行的所有SQL语句的统计信息,包括执行次数、总执行时间、平均执行时间等。首先需要在postgresql.conf配置文件中启用该扩展,然后重新加载配置文件。可以通过以下查询语句查看:
使用pg_stat_statements扩展可以查看数据库中执行的所有SQL语句的统计信息,包括执行次数、总执行时间、平均执行时间等。首先需要在postgresql.conf配置文件中启用该扩展,然后重新加载配置文件。可以通过以下查询语句查看:

 

标签:插件,plans,show,--,添加,master,pg,inflating
From: https://www.cnblogs.com/notonlydba/p/18613110

相关文章

  • 纯js超酷select下拉框美化插件
    tastySelect是一款纯js超酷select下拉框美化插件。tastySelect下拉框插件支持多选,内置两种主题,使用CSS3动画过渡效果,整体设计时尚大方。预览 下载  使用方法在页面中引入tastySelect.css和tastySelect.min.js文件。<linkhref="css/tastySelect.css"rel="styles......
  • 如何实现FPGA固件远程升级
    一、功能介绍在实际的项目开发中,为了便于产品的后续维护和代码的功能升级,往往需要实现FPGA固件的远程升级。FPGA固件升级可以由很多种方式,比如使用外部单片机、ARM等控制芯片接收上位机下发的FPGA固件信息,并将其写入FPGA的配置Flash中。如果我们的实际电路上并没有单片机、ARM等......
  • LiteGBS国标GB28181视频平台服务器添加存储池失败,如何处理?
    从技术发展趋势来看,人工智能与视频监控的结合将更加紧密。在未来,LiteGBS国标GB28181设备管理软件将进一步整合人工智能技术,实现智能识别、行为分析等功能。例如,在智能安防领域,通过对监控画面的实时分析,能够自动识别异常行为并及时发出告警,提高安防效率。那么当用户遇到服务器添......
  • RTSP播放器EasyPlayer.js使用无插件流媒体服务器接口实现web网页H5播放
    在数字化时代,流媒体播放器已成为信息传播和娱乐消遣的主流载体。随着技术的进步,流媒体播放器的核心技术和发展趋势不断演变,影响着整个行业的发展方向。许多用户在使用无插件流媒体服务器时,常常对标准化的用户界面感到不满,因为这些界面可能无法满足他们特定的日常观看需求。为了......
  • 在CodeBolcks+Windows API下的C++面向对象的编程教程——给你的项目中添加图标
    0.前言我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程。我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识。了解我编写教程的思路,请参阅体现我最初想法的那篇文章中的“1.编程计划”:学习编程......
  • 【Vue】Pinia持久化插件
    默认情况下,由于pinia是内存存储,当你刷新页面的时候pinia中的数据会丢失,可以借助于persist插件解决这个问题,persist插件支持将pinia中的数据持久化到sessionStorage和localStorage中。1、安装persist插件npminstallpinia-persistedstate-plugin2、pinia中使用persist......
  • 如何为在线客服系统的 Web Api 后台主程序添加 Bootstrap 启动页面
    背景我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。这个系统的核心后台主程序,在最早期是完全没有页面,经常有朋友部署之后,一访问是404,以为没有部署成功。我一看这肯定不行啊,可后台主程序是一个WebApi项目,没有页面,怎么办呢?1.x的实现方式通过WebApi接......
  • 《Vue3笔记》第05节:Vue3项目引入Axios插件实现网络通信
    这篇文章基于前一个小节的代码基础之上,介绍如何在Vue3项目中引入Axios插件实现网络通信的功能。Vue3项目开发(微信文章集合)1.1、安装依赖Axios是一款实现网络通信的插件,在前后的分离的项目中,要和后端接口进行数据通信,就可以采用Axios这个插件。首先安装Axios插件所需要的......
  • jquery目录树插件
    file-explore是一款简单的jquery目录树插件。它使用嵌套的无序列表作为目录树的结构,结合font-awesome图标可以制作出非常漂亮的jquery目录树效果。 在线预览 下载 使用方法在页面中引入file-explore.css和font-awesome文件,以及jquery和file-explore.js文件。<lin......
  • 在CodeBolcks+Windows API下的C++面向对象的编程教程——给你的项目中添加头文件和菜
    0.前言我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程。我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识。了解我编写教程的思路,请参阅体现我最初想法的那篇文章中的“1.编程计划”:学习编程......