zoukankan      html  css  js  c++  java
  • pg_basebackup: invalid tar block header size

    问题:
    在使用pg_basebackup搭建备节点时,由于pg_basebackup本身使用的是int整型来保存传输的数据大小,当传输的数据大于4G的话,整数就会溢出,进而报出:pg_basebackup: invalid tar block header size之类的错误.
     
    解决:
    在9.4版本之前(包括9.4,但直接查看9.4的代码,保存文件长度的变量是__int64的,可能是9.4之前的,也可能我看的已经打过补丁了)。如此不能直接使用pg_basebackup的p格式来搭建备节点,不过可以使用tar格式来搭建。
     
    pg_basebackup -D $PGDATA  -Ft -z -P -v  -h ip -p 端口号 -U 复制账号
    
     
    如此可以从主节点,将表空间,数据目录分别压缩传输过来,每个表空间都是单独一个压缩包,后面再分别在对应表空间解压即可。
    但我现在遇到的问题并不是要传输的文件大于4G,而是很小的文件也无法使用pg_basebackup传输,虽然最后通过使用tar格式解决了数据同步问题,但问题原因扔不清楚,查阅邮件列表也只看到传输大文件时出现过该问题。
     
    邮件列表谈及内容:
    https://www.postgresql.org/message-id/flat/20140603163031.GR24145%40awork2.anarazel.de#20140603163031.GR24145@awork2.anarazel.de
     
    希望有了解的告知原因。
  • 相关阅读:
    L347
    2019.4.22 英语阅读
    L345 大脑复生
    L343 中译英
    L342 Air Pollution Is Doing More Than Just Slowly Killing Us
    Is It Always a Good Idea to Reach Outside Your Comfort Zone?
    2019.4月 商务英语场景
    元器件横截面-这里有很多专业词汇
    python 列表和元组 还有range
    python 基本数据类型简介intstr bool
  • 原文地址:https://www.cnblogs.com/xiaotengyi/p/7449577.html
Copyright © 2011-2022 走看看