设为首页 收藏本站
查看: 862|回复: 0

[经验分享] PostgreSQL 常用维护操作(二)

[复制链接]
发表于 2016-11-20 08:35:35 | 显示全部楼层 |阅读模式
  1.使用命令行方式查看用户自己的表。
[postgres@kevin root]$ psql -c "\d" -d kevin_testcould not change directory to "/root"List of relationsSchema |     Name      | Type  |     Owner--------+---------------+-------+----------------public | tbl_test_port | table | pg_test_user_3(1 row)[postgres@kevin root]$  
2.查看当前数据库的大小,单位Byte.
kevin_test=# SELECT pg_database_size(current_database());pg_database_size------------------5431588(1 row)kevin_test=#  
3.查看服务器中所有数据库的大小。
kevin_test=# SELECT datname, pg_database_size(datname) from pg_database;datname       | pg_database_size--------------------+------------------template1          |          5316612template0          |          5316612postgres           |          5415204kevin_test         |          5431588pg_test_database_3 |          5316612(5 rows)kevin_test=#  
4.查看某张表的大小。
  a. SQL方式查询
kevin_test=# SELECT pg_relation_size('tbl_test_port');pg_relation_size------------------8192(1 row)kevin_test=#  b. 命令方式查询
kevin_test=# \dt+ tbl_test_portList of relationsSchema |     Name      | Type  |     Owner      |    Size    | Description--------+---------------+-------+----------------+------------+-------------public | tbl_test_port | table | pg_test_user_3 | 8192 bytes |(1 row)kevin_test=#  
5.查看某表包括表索引、视图等引用在内的所有空间大小。
kevin_test=# SELECT pg_total_relation_size('tbl_test_port');pg_total_relation_size------------------------24576(1 row)kevin_test=#  
6.查看表中记录个数,由于count(*)在记录很多的情况下,效率较低,所以提供了一种估算的方式。
kevin_test=# SELECT count(*) from tbl_test_port;count-------12(1 row)kevin_test=#kevin_test=# SELECT (CASE WHEN reltuples > 0 THENpg_relation_size('tbl_test_port') / (8192 * relpages / reltuples)ELSE 0END)::bigint as estimated_row_countFROM pg_classWHERE oid = 'tbl_test_port'::regclass;estimated_row_count---------------------0(1 row)kevin_test=#  
可以看出,在记录个数较少的情况下,结果不准确。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-302694-1-1.html 上篇帖子: PostgreSQL备份恢复一:转储 下篇帖子: Postgresql存储样例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表