返回顶部
首页 > 资讯 > 数据库 >PostgreSQL中关于xid freeze的脚本有哪些
  • 296
分享到

PostgreSQL中关于xid freeze的脚本有哪些

2024-04-02 19:04:59 296人浏览 安东尼
摘要

这篇文章主要讲解了“postgresql中关于xid freeze的脚本有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Postgresql中关于xid

这篇文章主要讲解了“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_xid
pg12@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 datname
pg12@testdb(#         , m.max_old_xid::int
pg12@testdb(#         , m.autovacuum_freeze_max_age::int
pg12@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_xid
pg12@testdb-#     , max(ROUND(100*(oldest_current_xid/max_old_xid::float))) AS percent_towards_wraparound
pg12@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 datname
pg12@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::reGClass
pg12@testdb-#     , age(c.relfrozenxid)
pg12@testdb-#     , pg_size_pretty(pg_total_relation_size(c.oid)) 
pg12@testdb-# FROM pg_class c
pg12@testdb-# JOIN pg_namespace n on c.relnamespace = n.oid
pg12@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=# \t
Tuples 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=# \t
Tuples 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的脚本有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: PostgreSQL中关于xid freeze的脚本有哪些

本文链接: https://lsjlt.com/news/63503.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PostgreSQL中关于xid freeze的脚本有哪些
    这篇文章主要讲解了“PostgreSQL中关于xid freeze的脚本有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PostgreSQL中关于xid...
    99+
    2024-04-02
  • postgresql关于权限的知识点有哪些
    这篇文章主要介绍“postgresql关于权限的知识点有哪些”,在日常操作中,相信很多人在postgresql关于权限的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • 便于管理mysql的shell脚本有哪些
    小编给大家分享一下便于管理mysql的shell脚本有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • 有哪些有用的Shell脚本
    这篇文章主要讲解了“有哪些有用的Shell脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些有用的Shell脚本”吧!【例子:001】判断输入为数字,字符或其他代码如下:#!/bin/...
    99+
    2023-06-09
  • VBS中常用脚本有哪些
    这篇文章主要讲解了“VBS中常用脚本有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS中常用脚本有哪些”吧!将域用户或租添加到本地组 Set objGroup =...
    99+
    2023-06-08
  • Redis中Lua脚本的优势有哪些
    原子性操作:Lua脚本在Redis中执行是原子操作,可以保证多个命令的执行不会被其他命令插入,确保数据操作的一致性和完整性。 ...
    99+
    2024-05-07
    Redis Lua
  • 用于检测进程的shell脚本代码有哪些
    小编给大家分享一下用于检测进程的shell脚本代码有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个简单的shell脚本,用来找出关键的服务是否正在运行,适...
    99+
    2023-06-09
  • MYSQL中实用shell脚本有哪些
    小编给大家分享一下MYSQL中实用shell脚本有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • 关于C++的坑有哪些
    这篇文章主要讲解了“关于C++的坑有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“关于C++的坑有哪些”吧!1. string的字符串拼接,导致coredump该问题的核心点在于第9行,...
    99+
    2023-06-16
  • oracle的自带脚本有哪些
    本篇内容主要讲解“oracle的自带脚本有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle的自带脚本有哪些”吧!创建一个数据库看起来容易,做起来难...
    99+
    2024-04-02
  • 常用的Sheel脚本有哪些
    这篇文章给大家分享的是有关常用的Sheel脚本有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、list_sys_status.sh显示系统使用的以下信息:主机名、IP地址、子网掩码、网关、DNS服务器IP...
    99+
    2023-06-27
  • 实用的Python脚本有哪些
    本篇内容介绍了“实用的Python脚本有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!系统提示工具这个工具用到了win10toast库来...
    99+
    2023-06-30
  • 常用的shell脚本有哪些
    这篇文章主要讲解了“常用的shell脚本有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常用的shell脚本有哪些”吧!1.模拟linnux登录shell代码如下:#/bin/bashe...
    99+
    2023-06-09
  • 有哪些经典的vbs脚本
    这篇文章主要讲解了“有哪些经典的vbs脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些经典的vbs脚本”吧!文件下载(无回显)  echo iLocal ...
    99+
    2023-06-08
  • PostgreSQL中用于计算merge join的Cost函数有哪些
    本篇内容主要讲解“PostgreSQL中用于计算merge join的Cost函数有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中用于...
    99+
    2024-04-02
  • Asp.net Ajax中js脚本规则有哪些
    这篇文章主要介绍Asp.net Ajax中js脚本规则有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!注册一个命名空间:Type.registerNamespace("AspNetAjavOv...
    99+
    2023-06-03
  • shell脚本中有哪些特殊符号
    这篇文章主要讲解了“shell脚本中有哪些特殊符号”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell脚本中有哪些特殊符号”吧!在shell中常用的特殊符号罗列如下:# ; ;; . ,...
    99+
    2023-06-09
  • 关于SQL的优化有哪些
    本篇内容介绍了“关于SQL的优化有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!大部分人说的SQL优化...
    99+
    2024-04-02
  • 关于HTML5的技巧有哪些
    本篇文章为大家展示了关于HTML5的技巧有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 Web技术的发展速度太快了,如果你不与时...
    99+
    2024-04-02
  • 关于Dubbo的问题有哪些
    这篇文章主要讲解了“关于Dubbo的问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“关于Dubbo的问题有哪些”吧!1、RPC1.1 RPC 定义互...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作