PostgreSQL中关于xid freeze的脚本有哪些
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要讲解了"PostgreSQL中关于xid freeze的脚本有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"PostgreSQL中关于
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
软件开发的价值是什么
web技术是什么网络技术
软件开发期货
常见校园网络安全隐患有哪些
计算机网络技术对比机电一体化
工商增加软件开发
江苏翔域互联网科技有限公司
ftp服务器格式
网络安全资产管理工具
凤城博益网络技术
数据库中的隐藏状态
浦口区常规软件开发售后服务
网络安全对禁售行业的影响
数据库order和max函数
网络安全法对电信业务的处罚
vb软件软件开发流程图
海南智慧医养软件开发
广东oa软件开发设计
计算机网络技术专业对口行业
物联网专业网络安全师
学网络安全学校
株洲住宿软件开发
新思路软件开发有限公司
武汉手机游戏软件开发
中小学网络安全课程
ftp服务器创建文件夹失败
阿里巴巴商业服务器
数据库er图外码怎么标
bt条码打印数据库
美国服务器防护