heroku的pgextras的非官方python端口,为postgres实例提供各种统计信息。

pgextras的Python项目详细描述


====
python pgextras
=====


图片::https://badge.fury.io/py/pgextras.png
:目标:http://badge.fury.io/py/pgextras

…图片::https://travis-ci.org/scottwoodall/python-pgextras.png?branch=master
:目标:https://travis ci.org/scottwoodall/python pgextras

…图片::https://pypip.in/d/pgextras/badge.png
:目标:https://pypi.python.org/pypi/pgextras

…图片::https://coveralls.io/repos/scottwoodall/python pg extras/badge.png
:目标:https://coveralls.io/r/scottwoodall/python pgextras



"heroku的pgextras"的非官方python端口lt;https://github.com/heroku/heroku pg extras>;`\br/>,它提供了Postgres实例。这个模块的最大区别是,postgres数据库可以在任何地方,而不仅仅是heroku托管的数据库。


*bsd许可证
*根据2.7和3.3进行了测试
*`documentation<;http://python pgextras.rtfd.org>;``u
*`github<;https://github.com/scottwoodall/python pgextras>;`

features
相反,它返回一个包含namedtuples的iterable。例如,"total indexes size"
方法返回以下内容:

[
记录(table='pgbench'u accounts',index'u size='2208 kb'),
记录(table='pgbench'u tellers',index'u size='16 kb'),
记录(table='pgbench'u branches',index'u size='16 kb'),
记录(table='pgbench_history',index_size='0 bytes')
]


如何格式化和显示数据取决于您。下面的结果是
格式化的,以便更容易理解可用的数据。

目录并运行:
python setup.py install
现在应该安装可执行的pgextras

,您可以使用任何postgres数据库运行pgextras



cache hit
*****
计算缓存命中率(有效数据库为99%及以上)::

命中率0.999696

索引使用率
********
计算索引命中率(有效数据库的命中率为99%及以上)::

|——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————|10
pgbench_branches 93 1


calls
**
>显示10个最常调用的查询::

|————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| 0:00:03.788899 0.0%414000 0:00:00
从pgbench账户中选择平衡。| 0:00:04.471754 0.0%414000 0:00:00
更新pgbench_帐户集平衡。| 0:00:21.798029 0.2%414000 0:00:00
结束;0:00:00.126220 0.0%414000 0:00:00
更新pgbench分支设置平衡。| 0:30:00.544749 15.9%414000| 0:00:00
更新pgbench_出纳员设置tbalance=…| 2:38:45.396566 83.9%414000 0:00:00
开始0:00:00.002141 0.0%212 0:00:00
选择PID,应用程序名称为SOURC。| 0:00:00.039576 0.0%77 0:00:00
选择存在(选择?从pg_exten..| 0:00:00.001085 0.0%43 0:00:00



blocking
*****
|阻塞PID阻塞语句阻塞持续时间
|————+————+————+—————————————————————————————————————————————————————————————————————————————————————————————————+-2309其中tid=9;0:00:00.018450 1724更新pgbench_u出纳员设置tbalance=tbalance+-816其中tid=9;0:00:00.034656


异常值
*br/>| exec_u time prop_u exec_u time ncalls sync_u io_u time
更新pgbench_u tellers set tbalance=。| 2:59:30.137916 83.9%467897 0:00:00
更新pgbench_分支设置平衡。| 0:33:53.945889 15.8%467856 0:00:00
更新pgbench_帐户集平衡。| 0:00:25.384166 0.2%467897 0:00:00
从pgbench账户中选择平衡。| 0:00:05.086917 0.0%467897 0:00:00
插入PGBENCH历史(TID,BID..| 0:00:04.356031 0.0%467848 0:00:00
真空pgbench_u分支机构0:00:00.336647 0.0%17 0:00:00
从pgbench_u帐户中选择计数(*);0:00:00:00.294740 0.0%1 0:00:00
|开始;0:00:00.160855 0.0%467897 0:00:00
结束;0:00:00:00.142983 0.0%467848 0:00:00
选择重新命名,案例IDX扫描时间?…| 0:00:00.110683 0.0%6 0:00:00


真空统计
*****

显示死区行以及是否预期触发自动真空::


schema table last last autovacuum rowcount死区行数|自动真空阈值期望自动真空
-+—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| 52
公共PGBENCH U分行2014-04-24 20:02 2014-04-24 20:03 1 0 50
公共PGBENCH历史2014-04-23 20:45||15000 0 3050
按最浪费的排序:

|膨胀的废物| 19 144 kb
table public pgbench branches 8 56 kb


长时间运行的查询
**************
按降序显示所有运行时间超过5分钟的查询::

|PID持续时间查询"学生".*从"学生"的"学生"中选择"学生".*从"学生"的"学生"中选择"学生".*从"学生"的"学生"中选择"学生".*从"学生"的"学生".*从"学生"的"学生"中选择"学生".*从"学生"的"学生"中选择"学生".*从"学生"的"学生"中选择"学生".*=1581884限制1


| pgbench_u accounts 2
pgbench_u history 0


未使用的索引
********
显示未使用和几乎未使用的索引,按其相对于索引扫描数的大小排序。排除非常小的表(小于5页)的索引,其中计划器几乎总是选择顺序扫描,
但未来可能不会随着表的增长而增长:

|索引放置尝试级别97 MB 0
公开。观察属性级别资源33 MB 0
公开。消息用户资源12 MB 0

总计表大小
***********
显示表(包括索引)的大小,按大小降序排列:


kb
pgbench_u branchs 256 kb

索引总大小
**************
显示每个表上所有索引的总大小,按大小降序:

|

表格大小
*****
显示表格大小(不包括索引),按大小降序排列:

| 256 kb
pgbench分支240 kb


索引大小
*****
显示索引大小,按大小降序:

大小
**************
显示所有索引的总大小::

s
***
显示具有活动锁的查询::

|<;idle>;在事务中00:19:29.837898
31776 1294 t<;idle>;在事务中00:19:29.837898
31912 t从hello中选择*;00:19:17.94259
3443 t|+| 00:00:00
每个表,按大小降序排列:

|

ps
**
查看活动查询,执行时间:

|——+——+——+——+——+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————|
28018 pgbench 0:00:00.017257 0 end;
28015 pgbench 0:00:00.001055 1更新pgbench分支设置bbalance=bbalance+-4203,其中bid=1;|

版本
*****
获取Postgres服务器版本:

|————————————————————————————64位






history
----

>0.2.1(2018-12-01)
+++++++++++br/>*修复了将索引名截断为仅63个字符的错误
*更新了各种SQL语句以匹配Heroku的版本(感谢@Mantrala)

>0.2.0(2014-05-06)添加了一个cli选项。最初的想法来自"marek wywia_
<;https://github.com/onjin/pgextrasci>;`.
*从整数输出中删除逗号,因此如果有人希望存储结果,则不需要进行额外的分析。
*在未安装
"pg_stat_statement"模块时,不引发异常,从而使api更加一致。相反,将返回一个包含错误消息的名为双元组的列表。

0.1.1(2014-05-01)
++++++++++++++

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Intellij新项目JDK不可用   JAVA静态块执行了多少次?   java通过JCheckBox更改文本字段输入的字体颜色   java在星期几文本字段中输入值   java RichFaces 4.2日历。如何通过JavaScript设置日历的输入字段?   java在javafx中注册鼠标处理程序,但处理程序不是内联的   java将jchararray分配给常量unsigned char   在安卓4.4中注意到java奇怪的圆形浮动动作按钮吗?   java中用于解决8个难题的合适的树类是什么   为什么Java在我的Linux服务器上使用了如此多的内存?   java从多个推荐列表中提取顶级推荐   “426写入网络流失败。”尝试使用Java的URL类连接到FTP站点时收到   java如何在没有Gradle的情况下使用IntelliJ打开项目?   java如何在线程完成后使For循环继续?   java使用定制jackson ObjectMapper定制Spring引导序列化过程   java NativeActivity不会显示在屏幕上   如何使用Java中的EditorConfig在IntelliJ IDEA中关闭rightparen自己的行?   java从字符串中删除字母数字单词   Intellij IDEA 13.1中的maven Java编译错误