zoukankan      html  css  js  c++  java
  • 为什么没有插入数据,但已用存储空间会增加

    为什么没有插入数据,但已用存储空间会增加?

    由于 PostgreSQL 的 MVCC 机制:

    1. 被 DELETE 的行并不会直接物理删除。
    2. Update 的行是通过插入新行实现的,过期数据也不会直接物理删除。因此,即使没有插入数据也会存在存储数据量增加的情况。

    当前云数据库已默认开启 autovacuum 配置参数,内核会自动回收过期数据,因此已用存储空间会在系统回收过期数据后自动释放出来。用户也可以手动执行 VACUUM 命令来回收过期数据(执行该命令后存储空间统计并不会立即下降,而是会把这些过期数据回收并标记为可重复利用)。如果想完全清理数据,可考虑使用带参数的 VACUUM FULL 命令(该命令会锁表,强烈建议只在维护期间使用)。
    VACUUM 命令使用请参见 PostgreSQL 官方文档

    为什么 CPU 利用率会超过100%?

    PostgreSQL 默认使用闲时超用的策略,即允许您的业务抢占一部分额外的空闲的CPU资源。因此,当您的实例超过默认给您分配的 CPU 核数时,您的 CPU 利用率监控视图会显示超过100%,这个是正常的。
    若您的 CPU 负载长期高于60%,则建议您尽快升级数据库。

    为什么磁盘占用空间大于实际数据量?

    更新导致 xlog 日志剧增,系统来不及归档和删除,占用了磁盘空间。或者查询操作含有大数据量的排序、连接等操作,处理过程中产生临时表并溢出到磁盘,短时间内造成大量空间占用。

    如何开启或使用插件?

    腾讯云 PostgreSQL 已支持大部分常用插件,可直接使用。而部分插件开启需要超级管理员权限,可到腾讯云控制台开启。或联系腾讯工作人员说明实例 ID 和插件名称开启。

    PostgreSQL 重启需要注意什么?

      • 由于数据库本身对于业务的重要性,我们建议您谨慎重启,重启前尽量提前断开服务器与数据库连接,并停写数据。
      • 重启实例不会改变实例的物理特性,因此实例的公网 IP、内网 IP、存储的任何数据都不会改变。
      • 重启后,业务需要重连数据库,请确保您的业务有重连机制。
      • 请确保在业务低峰期重启,保证重启成功率,降低对业务的影响。
      • 一般运行重启操作后需要十几秒到几分钟时间,实例将无法正常访问,已有的连接会断掉,请您做好准备,以免造成影响。
      • 重启期间,如果业务写入量过大,脏页过多,会导致重启失败。重启失败后,实例回到重启之前状态,实例仍可访问。
      • 重启数据库有几率失败,这是正常现象,如果重启时间超过10分钟建议 提交工单 咨询。
  • 相关阅读:
    Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)
    Linux学习笔记:cat、tac、more、less、head、tail查看文件内容
    Linux学习笔记:pwd与dirs的区别
    Linux学习笔记:nohup & 后台任务
    Linux学习笔记:输入输出重定向 >>命令
    Linux学习笔记:vi常用命令
    Linux学习笔记:touch新建文件、修改访问、改动时间
    Linux学习笔记:mkdir创建文件夹
    Linux学习笔记:mv移动或文件重命名
    Shell学习笔记:#*、%*字符串掐头去尾方法
  • 原文地址:https://www.cnblogs.com/telwanggs/p/13209263.html
Copyright © 2011-2022 走看看