pg_repack插件安装使用

获取代码

在 这个链接里 可以选择需要下载的pg_repack版本

wget http://api.pgxn.org/dist/pg_repack/1.4.4/pg_repack-1.4.4.zip

安装相关依赖包

apt-get install cmake libssl-dev
apt-get install libreadline6 libreadline-dev  postgresql-server-dev-10

对下载的pg_repack包进行解压

unzip pg_repack-1.4.4.zip

进入解压好的文件夹中,进行编译安装

cd pg_repack-1.4.4
make
sudo make install

复制pg_repack执行程序到/usr/local/bin/路径下

sudo cp pg_repack-1.4.4/bin/pg_repack  /usr/local/bin/

检查pg_repack是否已经安装

pg_repack --version  # 如果出现对应的版本号就说明已经安装完成

使用方法

在数据库中创建扩展

create extension pg_repack


在外部使用pg_repack对表空间进行回收

pg_repack -t public.tmp_t1 -j 2 -D -k -d postgres

使用pg_repack回收表空间前

在外部使用pg_repack对表空间进行回收

使用pg_repack回收表空间后

pg_repack参数说明

options:

  • -a, --all         repack all databases
  • -t, --table=TABLE     repack specific table only
  • -I, --parent-table=TABLE repack specific parent table and its inheritors
  • -c, --schema=SCHEMA    repack tables in specific schema only
  • -s, --tablespace=TBLSPC  move repacked tables to a new tablespace
  • -S, --moveidx       move repacked indexes to TBLSPC too
  • -o, --order-by=COLUMNS  order by columns instead of cluster keys
  • -n, --no-order      do vacuum full instead of cluster
  • -N, --dry-run       print what would have been repacked
  • -j, --jobs=NUM      Use this many parallel jobs for each table
  • -i, --index=INDEX     move only the specified index
  • -x, --only-indexes    move only indexes of the specified table
  • -T, --wait-timeout=SECS  timeout to cancel other backends on conflict
  • -D, --no-kill-backend   don’t kill other backends when timed out
  • -Z, --no-analyze      don’t analyze at end
  • -k, --no-superuser-check  skip superuser checks in client
  • -C, --exclude-extension   don’t repack tables which belong to specific extension

Connection options:

  • -d, --dbname=DBNAME    database to connect
  • -h, --host=HOSTNAME    database server host or socket directory
  • -p, --port=PORT      database server port
  • -U, --username=USERNAME  user name to connect as
  • -w, --no-password     never prompt for password
  • -W, --password       force password prompt

pg_ repack原理

pg_ repack原理其实和vacuum full是类似的,都是新建一个文件,然后将老文件数据拷贝过来,然后进行文件切换,它不阻塞读写的秘诀就是新建文件和拷贝的过程是在线做的,在没有完成拷贝之前,原来的文件还是可以读写的,只有在切表那一瞬间可能会有影响。

源库的数据文件一直在变,所以表文件其实分为两部分,一部分是基础数据,一部分是增量数据,基础数据的拷贝就是正常的拷贝,增量数据是通过创建触发器来捕获在该表上的读写操作来实现的,待基础数据拷贝完后再将trigger捕获的增量sql进行应用,达到最终结果。

pg_repack插件安装使用相关推荐

  1. vue-devTools插件安装流程

    vue-devTools插件安装流程 本文主要介绍 vue的调试工具 vue-devtools 的安装和使用 工欲善其事, 必先利其器, 快快一起来用vue-devtools来调试开发你的vue项目吧 ...

  2. Android Eclipse之Git插件安装、配置、提交、修改、冲突、查看历史、覆盖。

    为什么80%的码农都做不了架构师?>>>    首先进入eclipse插件安装功能页面,这个就不多说了,下面给出截图,如果不会的也不必往下看了. 安装Git 一:Eclipse工具栏 ...

  3. MyEclipse插件安装

    一.安装方法: 方法一.如果可以上网可在线安装 1. 打开Myeclipse,在菜单栏中选择Help→Software Updates→Find and Install; 2. 选择Search fo ...

  4. crx header invalid_解决Chrome插件安装时程序包无效【CRX_HEADER_INVALID】(转载+xPath插件)...

    最近安排让协助开发/维护爬虫工具类,主要涉及到网页内容的获取,主要使用python+xPath作为解析库,初次认识,感觉还不错! https://www.w3.org/TR/xpath/all/ ht ...

  5. jupyter notebook快捷键总结及重要插件安装

    1.命令模式 (press Esc to enable) F: find and replace Ctrl-Shift-P: open the command palette Enter: enter ...

  6. google浏览器插件安装时出错,Package is invalid: CRX HEADER INVALID

    google浏览器插件安装时出错,Package is invalid: CRX HEADER INVALID 原文件 将.crx结尾的扩展文件改为rar或zip结尾,变成压缩文件 然后解压这个文件 ...

  7. Sublime Text 3便携版下载安装和常用插件安装--顺便解决报错An error occured installing和no packages available for install

    文章目录 Sublime Text 3便携版下载安装和常用插件安装 1.Sublime Text 3便携版下载: 2.sublime 插件控制器(Package Control)安装 2.1离线安装P ...

  8. 134安装教程_PS教程连载第135课:PS第三方插件安装方法

    点击图片  1元抢购  PS.PR.AE等课程活动 PS教程连载第135课 PS第三方插件安装方法 格式:mp4视频 素材领取:请查看文章底部 现在有许多外挂滤镜开发商将滤镜的安装程序设计的非常人性化 ...

  9. nodejs安装及npm模块插件安装路径配置

    在学习完js后,我们就要进入nodejs的学习,因此就必须配置nodejs和npm的属性了. 我相信,个别人在安装时会遇到这样那样的问题,看着同学都已装好,难免会焦虑起来.于是就开始上网查找解决方案, ...

最新文章

  1. 第四周实践项目6 循环双链表应用
  2. 为sap的alv的最左侧添加【选中】按钮用于同时选中多行...
  3. android json 解析,android json解析 泛型
  4. Hibernate Reference Documentation
  5. 什么是 LOW-CODE ?
  6. Java反射示例教程
  7. html目录清华,清华大学HTML、《网页设计与制作》讲义.ppt
  8. android MVP连接服务器,Android之MVP模式实现登陆和网络数据加载
  9. win7家庭版计算机桌面,Win7 home basic家庭普通版显示桌面图标的方法
  10. 摩尔定律和梅特卡夫定律_摩尔定律f
  11. 图像处理—灰度图像转为伪彩色图像
  12. C语言——解四元一次方程组
  13. 使用Ballerina CLI工具开发Ballerina项目
  14. 最强大脑记忆曲线(9)——按错误频率排序待听写内容
  15. 前所未知的Bug(IDEA 和 金山词霸2016的冲突)
  16. Typora图床设置
  17. 专升本计算机笔记 计算机基础知识
  18. 关于1NF、2NF、3NF、BCNF的常考判定
  19. 【开发工具】Office Tool Plus 安装 Office
  20. 东方国信携手Cloudera 共创Hadoop生态圈辉煌

热门文章

  1. JPG/JEPG在十六进制文件格式
  2. 转:Mac操作技巧 | 键盘侠必备快捷键
  3. 微信小程序系列(7)如何用微信小程序写一个论坛?贴心代码详解(五)删帖页【完结篇】
  4. python生成摸头GIF动态图
  5. 计算机无法完成评估,Windows Vista下系统评分无法完成的问题
  6. Mac 运行windows软件
  7. PDF文档太大怎么办?
  8. 车载无线自组织网络的介质访问控制协议研究
  9. Python:dataframe读取以文本形式存储的数字
  10. c语言中以追加只写方式打开文本文件,C语言文本方式和二进制方式打开文件区别...