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)
++++++++++++++
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%及以上)::
pgbench_branches 93 1
calls
**
>显示10个最常调用的查询::
从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)
++++++++++++++