当前位置: 首页 > article >正文

PostgreSQL插件pg_repack介绍和简单使用【2】

文章目录

  • pg_repack用法介绍
    • OPTIONS指定选项
    • 重组选项
    • 连接选项
    • 通用选项

pg_repack用法介绍

OPTIONS指定选项

在这里插入图片描述

  • -a, --all
    重新打包所有数据库
  • -t, --table=TABLE
    仅打包指定表
  • -I, --parent-table=TABLE
    重新打包特定的父表及其继承表
  • -c, --schema=SCHEMA
    仅打包指定模式内的表
  • -s, --tablespace=TBLSPC
    移动重打包的表到新的表空间
  • -S, --moveidx
    也将重新打包的索引移动到表空间
  • -o, --order-by=COLUMNS
    按列排序,而不是按聚集键排序
  • -n, --no-order
    执行完全清理(VACUUM FULL)操作,而不是执行聚集(CLUSTER)操作
  • -N, --dry-run
    打印出本应重新打包的内容并退出
  • -j, --jobs=NUM
    为每个表使用多并行作业
  • -i, --index=INDEX
    仅移动指定的索引
  • -x, --only-indexes
    仅移动指定表的索引
  • -T, --wait-timeout=SECS
    在发生冲突时取消其他后台进程的超时时间
  • -D, --no-kill-backend
    超时时不终止其他后台进程
  • -Z, --no-analyze
    结束时不进行分析
  • -k, --no-superuser-check
    在客户端跳过超级用户检查
  • -C, --exclude-extension
    不要重新打包属于特定扩展的表。–no-error-on-invalid-index 即使发现无效索引也重新打包。–error-on-invalid-index 当发现无效索引时不重新打包,此选项已弃用,因为现在这是默认行为。–apply-count 在重放期间,一次事务中应用的元组数量。–switch-threshold 当剩余这么多元组需要追赶时,切换表。

重组选项

通常用于数据库管理系统中,指的是对数据库表、索引或数据进行重新组织或优化的过程。
这些“重组选项”或“重新组织选项”允许用户指定在执行重组操作时的一些参数或行为,以满足特定的性能优化、空间管理或数据完整性需求。

在这里插入图片描述
在这里插入图片描述

  • -a, --all
    尝试对集群中的所有数据库进行重新打包。对于未安装 pg_repack 扩展的数据库,将跳过处理。
  • -t TABLE, --table=TABLE
    仅对指定的表进行重新组织。可以使用多个 -t 开关来重新组织多个表。默认情况下,目标数据库中的所有符合条件的表都会被重新组织。
  • -I TABLE, --parent-table=TABLE
    对指定的表及其继承表进行重新组织。通过编写多个 -I 开关,可以对多个表层次结构进行重新组织。
  • -c, --schema
    仅对指定模式中的表进行重新打包。通过编写多个 -c 开关,可以对多个模式中的表进行重新打包。此选项可以与 –tablespace 一起使用,以便将表移动到不同的表空间。
  • -o COLUMNS [,…], --order-by=COLUMNS [,…]
    执行一个根据指定列排序的在线聚簇集操作。
  • -n, --no-order
    执行一个在线的VACUUM FULL操作。从1.2版本开始,这成为了非聚集表的默认操作。
  • -N, --dry-run
    列出将要重新打包的对象并退出。
  • -j, --jobs
    为PostgreSQL创建指定数量的额外连接,并使用这些额外连接来并行重建每个表上的索引。并行索引构建仅支持全表重新打包,而不支持使用 –index–only-indexes 选项。如果您的PostgreSQL服务器有额外的内核和可用的磁盘I/O,那么这可以是一种加速pg_repack的有用方法。
  • -s TBLSPC, --tablespace=TBLSPC
    将重新打包的表移动到指定的表空间:这实质上是 ALTER TABLE … SET TABLESPACE 命令的在线版本。除非同时指定了 –moveidx ,否则表的索引将保留在原始表空间中。
  • -S, --moveidx
    还将重新打包的表的索引移动到由–tablespace选项指定的表空间中。
  • -i, --index
    仅重新打包指定的索引。可以通过写入多个-i开关来重新打包多个索引。可以与 –tablespace 结合使用,将索引移动到不同的(表空间)。
  • -x, --only-indexes
    仅重新打包指定表的索引,这些表必须使用 –table–parent-table 选项进行指定。
  • -T SECS, --wait-timeout=SECS
    pg_repack 在重新打包过程的开始和结束时各需要获取一个排他锁。此设置控制 pg_repack 在获取这些锁时将等待多少秒。如果在此时间段后仍未能获取到锁,并且未指定 –no-kill-backend 选项,pg_repack 将强制取消与之冲突的查询。如果您使用的是 PostgreSQL 8.4 或更高版本,在超过此超时时间的两倍后,pg_repack 将回退到使用 pg_terminate_backend() 来断开任何剩余的后端连接。默认的超时时间是 60 秒。
  • -D, --no-kill-backend
    如果无法在指定的 –wait-timeout 时间内获取锁,则跳到重新打包表,而不是取消冲突的查询。默认值为false。
  • -Z, --no-analyze
    在完整表重组后禁用 ANALYZE。如果未指定,则在重组后运行 ANALYZE。
  • -k, --no-superuser-check
    跳过客户端中的超级用户检查。此设置在支持以非超级用户身份运行 pg_repack 的平台上很有用。
  • -C, --exclude-extension
    跳过属于指定扩展的表。一些扩展在规划时间等方面可能高度依赖于这些表。
  • –switch-threshold
    当日志表中剩余指定数量的元组(行)时切换表。此设置可用于防止无法跟上写入量大的表的进度。

连接选项

连接到服务器的选项。您不能同时使用 –all–dbname–table–parent-table

在这里插入图片描述

  • -a, --all
    重组所有数据库。
  • -d DBNAME, --dbname=DBNAME
    指定要重组的数据库的名称。如果未指定此选项且未使用-a(或–all),则会从环境变量 PGDATABASE 中读取数据库名称。如果未设置该环境变量,则使用为连接指定的用户名。
  • -h HOSTNAME, --host=HOSTNAME
    指定服务器上运行机器的主机名。如果该值以斜杠(/)开头,则它将被用作Unix域套接字的目录。
  • -p PORT, --port=PORT
    指定服务器监听连接的TCP端口号或本地Unix域套接字文件的扩展名。
  • -U USERNAME, --username=USERNAME
    用于连接的用户名。
  • -w, --no-password
    从不提示输入密码。如果服务器需要密码认证,且无法通过其他方式(如.pgpass文件)提供密码,则连接尝试将失败。此选项在批处理作业和脚本中可能很有用,因为在这些情况下没有用户在场输入密码。
  • -W, --password
    强制程序在连接到数据库之前提示输入密码。
    此选项并非必不可少,因为如果服务器要求密码认证,程序会自动提示输入密码。然而,pg_repack在发现服务器需要密码时会浪费一次连接尝试。在某些情况下,输入-W以避免额外的连接尝试是值得的。

通用选项

在这里插入图片描述

  • -e, --echo
    回显发送到服务器的命令。
  • -E LEVEL, --elevel=LEVEL
    从DEBUG、INFO、NOTICE、WARNING、ERROR、LOG、FATAL和PANIC中选择输出消息级别。默认级别是INFO。
  • –help
    显示程序的使用方法。
  • –version
    显示程序的版本号。

http://www.kler.cn/a/513230.html

相关文章:

  • 【回忆迷宫——处理方法+DFS】
  • HarmonyOS NEXT:华为分享-碰一碰开发分享
  • 【C++】filesystem 详解
  • 3D Vision--计算点到平面的距离
  • Unity Shader学习日记 part5 CG基础
  • 大模型GUI系列论文阅读 DAY2续:《一个具备规划、长上下文理解和程序合成能力的真实世界Web代理》
  • 基于Python django的音乐用户偏好分析及可视化系统设计与实现
  • 2024年博客之星主题创作|从零到一:我的技术成长与创作之路
  • 嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础
  • 如何解决 Apache Shutdown Unexpectedly 错误 ?
  • 人工智能AI 与 机器学习ML 的关键区别
  • element el-table合并单元格
  • 机器学习(5):支持向量机
  • CSS 溢出问题及解决方案:实用案例与技巧
  • 在 vscode + cmake + GNU 工具链的基础上配置 JLINK
  • web自动化-登录时滑块验证码报错解决方案
  • MongoDB数据库迁移
  • Linux -- HTTP 请求 与 响应 报文
  • 网络安全等级保护基本要求——等保二级
  • 可以自己部署的微博 Mastodon
  • 【优选算法】4----盛最多水的容器
  • Docker可视化管理工具Portainer
  • GFPGAN - 腾讯开源的图形修复算法修复算法
  • 网络爬虫技术如何影响网络安全的
  • .NET Framework 4.5.1 离线安装包
  • DM8 SQL 错误 [22000]: 锁超时