PostgreSQL中关于xid freeze的脚本有哪些
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"PostgreSQL中关于xid freeze的脚本有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"PostgreSQL中关于
千家信息网最后更新 2025年11月07日PostgreSQL中关于xid freeze的脚本有哪些
这篇文章主要讲解了"PostgreSQL中关于xid freeze的脚本有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"PostgreSQL中关于xid freeze的脚本有哪些"吧!
Monitor Database
数据库监控脚本
[local:/data/run/pg12]:5120 pg12@testdb=# show autovacuum_freeze_max_age; autovacuum_freeze_max_age --------------------------- 200000000(1 row)[local:/data/run/pg12]:5120 pg12@testdb=# WITH max_age AS ( pg12@testdb(# SELECT 2000000000 as max_old_xidpg12@testdb(# , setting AS autovacuum_freeze_max_age pg12@testdb(# FROM pg_catalog.pg_settings pg12@testdb(# WHERE name = 'autovacuum_freeze_max_age' )pg12@testdb-# , per_database_stats AS ( pg12@testdb(# SELECT datnamepg12@testdb(# , m.max_old_xid::intpg12@testdb(# , m.autovacuum_freeze_max_age::intpg12@testdb(# , age(d.datfrozenxid) AS oldest_current_xid pg12@testdb(# FROM pg_catalog.pg_database d pg12@testdb(# JOIN max_age m ON (true) pg12@testdb(# WHERE d.datallowconn ) pg12@testdb-# SELECT max(oldest_current_xid) AS oldest_current_xidpg12@testdb-# , max(ROUND(100*(oldest_current_xid/max_old_xid::float))) AS percent_towards_wraparoundpg12@testdb-# , max(ROUND(100*(oldest_current_xid/autovacuum_freeze_max_age::float))) AS percent_towards_emergency_autovac pg12@testdb-# FROM per_database_stats; oldest_current_xid | percent_towards_wraparound | percent_towards_emergency_autovac --------------------+----------------------------+----------------------------------- 3844 | 0 | 0(1 row)[local:/data/run/pg12]:5120 pg12@testdb=#
percent_towards_wraparound=数据库年龄/20亿,如接近100%,那么需要特别注意;
percent_towards_emergency_autovac=数据库年龄/autovacuum_freeze_max_age,autovacuum_freeze_max_age参数一般为2亿。
下面的脚本列出了每个数据库的年龄和autovacuum_freeze_max_age参数的设定。
[local:/data/run/pg12]:5120 pg12@testdb=# SELECT datnamepg12@testdb-# , age(datfrozenxid)pg12@testdb-# , current_setting('autovacuum_freeze_max_age') pg12@testdb-# FROM pg_database pg12@testdb-# ORDER BY 2 DESC; datname | age | current_setting -----------+------+----------------- postgres | 3844 | 200000000 template1 | 3844 | 200000000 template0 | 3844 | 200000000 db1 | 3844 | 200000000 db2 | 3844 | 200000000 db3 | 3844 | 200000000 testdb | 3844 | 200000000(7 rows)Monitor relation
监控关系(数据表)
[local:/data/run/pg12]:5120 pg12@testdb=# SELECT c.oid::regclasspg12@testdb-# , age(c.relfrozenxid)pg12@testdb-# , pg_size_pretty(pg_total_relation_size(c.oid)) pg12@testdb-# FROM pg_class cpg12@testdb-# JOIN pg_namespace n on c.relnamespace = n.oidpg12@testdb-# WHERE relkind IN ('r', 't', 'm') pg12@testdb-# AND n.nspname NOT IN ('pg_toast')pg12@testdb-# ORDER BY 2 DESC LIMIT 100; oid | age | pg_size_pretty --------------------------------------------+------+---------------- pg_policy | 3844 | 24 kB pg_init_privs | 3844 | 72 kB pg_seclabel | 3844 | 16 kB pg_shseclabel | 3844 | 16 kB pg_collation | 3844 | 384 kB pg_partitioned_table | 3844 | 16 kB pg_range | 3844 | 56 kB pg_transform | 3844 | 16 kB pg_sequence | 3844 | 8192 bytes pg_publication | 3844 | 16 kB pg_publication_rel | 3844 | 16 kB pg_subscription_rel | 3844 | 8192 bytes information_schema.sql_packages | 3844 | 48 kB information_schema.sql_features | 3844 | 104 kB information_schema.sql_implementation_info | 3844 | 48 kB information_schema.sql_parts | 3844 | 48 kB information_schema.sql_languages | 3844 | 48 kB information_schema.sql_sizing | 3844 | 48 kB pg_statistic | 3844 | 312 kB pg_type | 3844 | 192 kB pg_foreign_server | 3844 | 24 kB pg_authid | 3844 | 48 kB pg_statistic_ext_data | 3844 | 16 kB--More--以上列出了每个relation的age以及relation的大小。
Auto Generate Script
该脚本自动创建清理脚本。
[local:/data/run/pg12]:5120 pg12@testdb=# \tTuples only is on.[local:/data/run/pg12]:5120 pg12@testdb=# \o /tmp/vacuum.sql[local:/data/run/pg12]:5120 pg12@testdb=# select 'vacuum freeze analyze verbose ' || oid::regclass || ';' from pg_class where relkind in ('r', 't', 'm') order by age(relfrozenxid) desc limit 100;[local:/data/run/pg12]:5120 pg12@testdb=# \o[local:/data/run/pg12]:5120 pg12@testdb=# \tTuples only is off.[local:/data/run/pg12]:5120 pg12@testdb=# \set ECHO all[local:/data/run/pg12]:5120 pg12@testdb=# \! cat /tmp/vacuum.sql vacuum freeze analyze verbose pg_ts_parser; vacuum freeze analyze verbose pg_collation; vacuum freeze analyze verbose pg_partitioned_table; vacuum freeze analyze verbose pg_range; vacuum freeze analyze verbose pg_transform; vacuum freeze analyze verbose pg_sequence; vacuum freeze analyze verbose pg_publication; vacuum freeze analyze verbose pg_publication_rel; vacuum freeze analyze verbose pg_subscription_rel; vacuum freeze analyze verbose information_schema.sql_packages; vacuum freeze analyze verbose pg_toast.pg_toast_13426; vacuum freeze analyze verbose information_schema.sql_features; vacuum freeze analyze verbose pg_toast.pg_toast_13431; vacuum freeze analyze verbose pg_toast.pg_toast_13446; vacuum freeze analyze verbose information_schema.sql_implementation_info; vacuum freeze analyze verbose pg_toast.pg_toast_13436; vacuum freeze analyze verbose information_schema.sql_parts; vacuum freeze analyze verbose information_schema.sql_languages; vacuum freeze analyze verbose pg_toast.pg_toast_13441; vacuum freeze analyze verbose information_schema.sql_sizing; vacuum freeze analyze verbose pg_toast.pg_toast_13451; vacuum freeze analyze verbose pg_statistic; vacuum freeze analyze verbose pg_type; vacuum freeze analyze verbose pg_toast.pg_toast_2600; vacuum freeze analyze verbose pg_toast.pg_toast_2604; vacuum freeze analyze verbose pg_toast.pg_toast_3456; vacuum freeze analyze verbose pg_toast.pg_toast_2606; vacuum freeze analyze verbose pg_toast.pg_toast_826; vacuum freeze analyze verbose pg_toast.pg_toast_2609; vacuum freeze analyze verbose pg_toast.pg_toast_3466; vacuum freeze analyze verbose pg_toast.pg_toast_3079; vacuum freeze analyze verbose pg_toast.pg_toast_2328; vacuum freeze analyze verbose pg_toast.pg_toast_1417; vacuum freeze analyze verbose pg_toast.pg_toast_3118; vacuum freeze analyze verbose pg_toast.pg_toast_3394; vacuum freeze analyze verbose pg_toast.pg_toast_2612; vacuum freeze analyze verbose pg_toast.pg_toast_2615; vacuum freeze analyze verbose pg_foreign_server; vacuum freeze analyze verbose pg_toast.pg_toast_3350; vacuum freeze analyze verbose pg_toast.pg_toast_3256; vacuum freeze analyze verbose pg_toast.pg_toast_1255; vacuum freeze analyze verbose pg_toast.pg_toast_2618; vacuum freeze analyze verbose pg_toast.pg_toast_3596; vacuum freeze analyze verbose pg_toast.pg_toast_2619; vacuum freeze analyze verbose pg_toast.pg_toast_3381; vacuum freeze analyze verbose pg_toast.pg_toast_3429; vacuum freeze analyze verbose pg_toast.pg_toast_2620; vacuum freeze analyze verbose pg_toast.pg_toast_3600; vacuum freeze analyze verbose pg_toast.pg_toast_1247; vacuum freeze analyze verbose pg_toast.pg_toast_1418; vacuum freeze analyze verbose pg_toast.pg_toast_1260; vacuum freeze analyze verbose pg_toast.pg_toast_1262; vacuum freeze analyze verbose pg_toast.pg_toast_2964; vacuum freeze analyze verbose pg_toast.pg_toast_1136; vacuum freeze analyze verbose pg_toast.pg_toast_6000; vacuum freeze analyze verbose pg_toast.pg_toast_2396; vacuum freeze analyze verbose pg_toast.pg_toast_3592; vacuum freeze analyze verbose pg_toast.pg_toast_6100; vacuum freeze analyze verbose pg_toast.pg_toast_1213; vacuum freeze analyze verbose pg_authid; vacuum freeze analyze verbose pg_statistic_ext_data; vacuum freeze analyze verbose pg_user_mapping; vacuum freeze analyze verbose pg_subscription; vacuum freeze analyze verbose pg_attribute; vacuum freeze analyze verbose pg_proc; vacuum freeze analyze verbose pg_class; vacuum freeze analyze verbose pg_attrdef; vacuum freeze analyze verbose pg_constraint; vacuum freeze analyze verbose pg_inherits; vacuum freeze analyze verbose pg_index; vacuum freeze analyze verbose pg_operator; vacuum freeze analyze verbose pg_opfamily; vacuum freeze analyze verbose pg_opclass; vacuum freeze analyze verbose pg_am; vacuum freeze analyze verbose pg_amop; vacuum freeze analyze verbose pg_amproc; vacuum freeze analyze verbose pg_language; vacuum freeze analyze verbose pg_largeobject_metadata; vacuum freeze analyze verbose pg_aggregate; vacuum freeze analyze verbose pg_largeobject; vacuum freeze analyze verbose pg_statistic_ext; vacuum freeze analyze verbose pg_rewrite; vacuum freeze analyze verbose pg_trigger; vacuum freeze analyze verbose pg_event_trigger; vacuum freeze analyze verbose pg_description; vacuum freeze analyze verbose pg_cast; vacuum freeze analyze verbose pg_enum; vacuum freeze analyze verbose pg_namespace; vacuum freeze analyze verbose pg_conversion; vacuum freeze analyze verbose pg_depend; vacuum freeze analyze verbose pg_database; vacuum freeze analyze verbose pg_db_role_setting; vacuum freeze analyze verbose pg_tablespace; vacuum freeze analyze verbose pg_pltemplate; vacuum freeze analyze verbose pg_auth_members; vacuum freeze analyze verbose pg_shdepend; vacuum freeze analyze verbose pg_shdescription; vacuum freeze analyze verbose pg_ts_config; vacuum freeze analyze verbose pg_ts_config_map; vacuum freeze analyze verbose pg_ts_dict;[local:/data/run/pg12]:5120 pg12@testdb=#感谢各位的阅读,以上就是"PostgreSQL中关于xid freeze的脚本有哪些"的内容了,经过本文的学习后,相信大家对PostgreSQL中关于xid freeze的脚本有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
脚本
数据
中关
数据库
年龄
学习
内容
参数
监控
大小
就是
思路
情况
数据表
文章
更多
知识
知识点
篇文章
跟着
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目模板下载
魔兽世界熊猫酒仙服务器
讯付宝网络技术
互联网软件开发服务保障
宁波游戏软件开发创新服务
unity 服务器寻路
互联网科技发展
定向士官海军计算机网络技术
无法连接到电脑服务器怎么办
网络安全市占率
ipadvpn服务器
基因序列注释数据库
网络技术工程师综合能力
网络安全管理局机构改革
制作数据库结构对象数据
目前学习网络技术有前途吗
深圳市带动美网络技术有限公司
如何管理云服务器平台
数据库删除一个表为什么会变小
南郑天气预报软件开发
网络安全顾问需要学什么
网络安全宣传周启动仪式议程
互联网软件开发服务保障
服务器架构师
简述常见的数据库系统
群软件开发
服务器的选型要考虑哪些问题
语算机网络技术是属于什么
金山区创新软件开发采购
戴尔服务器免费咨询