Обсуждение: Can't recover data from a .tar.gz file which was backed up using COPY BINARY command

Поиск
Список
Период
Сортировка

Can't recover data from a .tar.gz file which was backed up using COPY BINARY command

От
Khangelani Gama
Дата:

Someone in our company wrote a script that backs up data from a certain table, that person left the company and no one is able to figure it out. Part of this script has something like, look at the COPY BINARY command just below:

 

EXPORTFILE=${EXPORTFILE}.${AUD_UP_TO}_${MAX_AUDIT}

   $PSQL -c "COPY BINARY dailybackup TO '$EF_PATH/$EXPORTFILE';"

 

   if [ $? -eq 0 ]; then

      cd $EF_PATH

      tar cvzf ${EXPORTFILE}.tar.gz ${EXPORTFILE}

      if [ $? -ne 0 ]; then

         echo -e "Error while compressing tar file :  " > /tmp/backup.trickle.state

         echo `date` >> /tmp/backup.trickle.state

 

fi

 

   echo "Backup to backup disk successful"

 

   echo "Update trickle checkpoint"

    

   ${ANT} run -Dclass=ucs.instore.ejb.system.SetTrickleCheckpoint -Darg1=${MAX_AUDIT}

 

 

 

I tried to untar the file which went through fine, but now inside the file there is funny characters, see below:

 

PGBCOPY

ÿ^M

^@^D^C^B^A^@^@^@^@^@^@^@^@^R^@^D^@~UIS^@ÿÿ      ^@^@^@1~1~1^D^@^É^@^@^D^@^@^@^@^@ÿÿ^K^@^@^@day_endÿÿ^K^@^@^@central^H^@wIôðå϶Aÿÿ¶^B^@^@<?xml version="1.0" encoding="UTF-8"?>^M

 

 

I am aware of the following format, but can’t figure out how many characters should I specify and this backup system doesn’t use pg_dump command?

 

 

COPY [ BINARY ] table_name [ WITH OIDS ]

    FROM { 'filename' | STDIN }

    [ [USING] DELIMITERS 'delimiter' ]

    [ WITH NULL AS 'null string' ]

 

 

 

Thanks in advanced

 

 

 




CONFIDENTIALITY NOTICE
The contents of and attachments to this e-mail are intended for the addressee only, and may contain the confidential information of Argility (Proprietary) Limited and/or its subsidiaries. Any review, use or dissemination thereof by anyone other than the intended addressee is prohibited.
If you are not the intended addressee please notify the writer immediately and destroy the e-mail. Argility (Proprietary) Limited and its subsidiaries distance themselves from and accept no liability for unauthorised use of their e-mail facilities or e-mails sent other than strictly for business purposes.

Re: Can't recover data from a .tar.gz file which was backed up using COPY BINARY command

От
Matheus de Oliveira
Дата:
Have you tried the above?

COPY BINARY dailybackup FROM <uncompressed file>

If so, what happened?

--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho - LCAD
Instituto de Ciências Matemáticas e de Computação - ICMC
Universidade de São Paulo - USP




On Thu, Mar 1, 2012 at 4:51 AM, Khangelani Gama <kgama@argility.com> wrote:

Someone in our company wrote a script that backs up data from a certain table, that person left the company and no one is able to figure it out. Part of this script has something like, look at the COPY BINARY command just below:

 

EXPORTFILE=${EXPORTFILE}.${AUD_UP_TO}_${MAX_AUDIT}

   $PSQL -c "COPY BINARY dailybackup TO '$EF_PATH/$EXPORTFILE';"

 

   if [ $? -eq 0 ]; then

      cd $EF_PATH

      tar cvzf ${EXPORTFILE}.tar.gz ${EXPORTFILE}

      if [ $? -ne 0 ]; then

         echo -e "Error while compressing tar file :  " > /tmp/backup.trickle.state

         echo `date` >> /tmp/backup.trickle.state

 

fi

 

   echo "Backup to backup disk successful"

 

   echo "Update trickle checkpoint"

    

   ${ANT} run -Dclass=ucs.instore.ejb.system.SetTrickleCheckpoint -Darg1=${MAX_AUDIT}

 

 

 

I tried to untar the file which went through fine, but now inside the file there is funny characters, see below:

 

PGBCOPY

ÿ^M

^@^D^C^B^A^@^@^@^@^@^@^@^@^R^@^D^@~UIS^@ÿÿ      ^@^@^@1~1~1^D^@^É^@^@^D^@^@^@^@^@ÿÿ^K^@^@^@day_endÿÿ^K^@^@^@central^H^@wIôðå϶Aÿÿ¶^B^@^@<?xml version="1.0" encoding="UTF-8"?>^M

 

 

I am aware of the following format, but can’t figure out how many characters should I specify and this backup system doesn’t use pg_dump command?

 

 

COPY [ BINARY ] table_name [ WITH OIDS ]

    FROM { 'filename' | STDIN }

    [ [USING] DELIMITERS 'delimiter' ]

    [ WITH NULL AS 'null string' ]

 

 

 

Thanks in advanced

 

 

 

CONFIDENTIALITY NOTICE
The contents of and attachments to this e-mail are intended for the addressee only, and may contain the confidential information of Argility (Proprietary) Limited and/or its subsidiaries. Any review, use or dissemination thereof by anyone other than the intended addressee is prohibited.
If you are not the intended addressee please notify the writer immediately and destroy the e-mail. Argility (Proprietary) Limited and its subsidiaries distance themselves from and accept no liability for unauthorised use of their e-mail facilities or e-mails sent other than strictly for business purposes.


Re: Can't recover data from a .tar.gz file which was backed up using COPY BINARY command

От
Khangelani Gama
Дата:

Hi Matheus

 

I get the following error when trying your command:

 

ERROR:  COPY BINARY: file signature not recognized

 

 

 

From: Matheus de Oliveira [mailto:matioli.matheus@gmail.com]
Sent: Thursday, March 01, 2012 11:56 AM
To: Khangelani Gama
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Can't recover data from a .tar.gz file which was backed up using COPY BINARY command

 

Have you tried the above?

COPY BINARY dailybackup FROM <uncompressed file>

If so, what happened?

--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho - LCAD
Instituto de Ciências Matemáticas e de Computação - ICMC
Universidade de São Paulo - USP



On Thu, Mar 1, 2012 at 4:51 AM, Khangelani Gama <kgama@argility.com> wrote:

Someone in our company wrote a script that backs up data from a certain table, that person left the company and no one is able to figure it out. Part of this script has something like, look at the COPY BINARY command just below:

 

EXPORTFILE=${EXPORTFILE}.${AUD_UP_TO}_${MAX_AUDIT}

   $PSQL -c "COPY BINARY dailybackup TO '$EF_PATH/$EXPORTFILE';"

 

   if [ $? -eq 0 ]; then

      cd $EF_PATH

      tar cvzf ${EXPORTFILE}.tar.gz ${EXPORTFILE}

      if [ $? -ne 0 ]; then

         echo -e "Error while compressing tar file :  " > /tmp/backup.trickle.state

         echo `date` >> /tmp/backup.trickle.state

 

fi

 

   echo "Backup to backup disk successful"

 

   echo "Update trickle checkpoint"

    

   ${ANT} run -Dclass=ucs.instore.ejb.system.SetTrickleCheckpoint -Darg1=${MAX_AUDIT}

 

 

 

I tried to untar the file which went through fine, but now inside the file there is funny characters, see below:

 

PGBCOPY

ÿ^M

^@^D^C^B^A^@^@^@^@^@^@^@^@^R^@^D^@~UIS^@ÿÿ      ^@^@^@1~1~1^D^@^É^@^@^D^@^@^@^@^@ÿÿ^K^@^@^@day_endÿÿ^K^@^@^@central^H^@wIôðå϶Aÿÿ¶^B^@^@<?xml version="1.0" encoding="UTF-8"?>^M

 

 

I am aware of the following format, but can’t figure out how many characters should I specify and this backup system doesn’t use pg_dump command?

 

 

COPY [ BINARY ] table_name [ WITH OIDS ]

    FROM { 'filename' | STDIN }

    [ [USING] DELIMITERS 'delimiter' ]

    [ WITH NULL AS 'null string' ]

 

 

 

Thanks in advanced

 

 

 

CONFIDENTIALITY NOTICE
The contents of and attachments to this e-mail are intended for the addressee only, and may contain the confidential information of Argility (Proprietary) Limited and/or its subsidiaries. Any review, use or dissemination thereof by anyone other than the intended addressee is prohibited.
If you are not the intended addressee please notify the writer immediately and destroy the e-mail. Argility (Proprietary) Limited and its subsidiaries distance themselves from and accept no liability for unauthorised use of their e-mail facilities or e-mails sent other than strictly for business purposes.
 

 




CONFIDENTIALITY NOTICE
The contents of and attachments to this e-mail are intended for the addressee only, and may contain the confidential information of Argility (Proprietary) Limited and/or its subsidiaries. Any review, use or dissemination thereof by anyone other than the intended addressee is prohibited.
If you are not the intended addressee please notify the writer immediately and destroy the e-mail. Argility (Proprietary) Limited and its subsidiaries distance themselves from and accept no liability for unauthorised use of their e-mail facilities or e-mails sent other than strictly for business purposes.