Restauração do Postgres não restaurando dados binários

2

Esta é uma situação muito urgente.

Temos um banco de dados postgres 9.4 instalado em uma máquina CentOs.

Estamos tentando fazer um backup de um banco de dados Heroku Postgres e restaurá-lo no banco de dados na máquina CentOs.

Os comandos que estamos usando: pg_dump -Fc -h ec2-99-99-99-99.compute-1.amazonaws.com -p 5762 -U xyz -d dbname > file.dump

O dump criado por pg_dump parece estar faltando dados de colunas que possuem o tipo de binário (essas colunas contêm imagens em formato binário).

Quando restauramos esse backup para o banco de dados no CentOS usando o seguinte comando, todas as imagens da imagem, ou seja, colunas de tipo binário, estão ausentes:

pg_restore -d onlinedb ~/file.dump

Temos que ir viver de manhã e estamos completamente incomodados com essa questão inesperada.

Saída do comando \d attachments (anexos é a tabela de problemas):

             Table "public.attachments"
      Column      |          Type          | Modifiers 
------------------+------------------------+-----------
 id               | integer                | not null
 configuration_id | integer                | 
 style            | character varying(255) | 
 file_contents    | bytea                  | 

Mais informações: O banco de dados heroku postgres, do qual estamos criando backup, é o PostgreSQL 9.2.6. O que estamos restaurando é o PostgreSQL 9.4.

    
por septerr 05.01.2015 / 03:16

1 resposta

0

Finalmente conseguimos restaurar o backup. Nós tentamos tantas coisas que eu não tenho certeza qual foi a correção, mas a nossa conclusão é que o problema era a configuração bytea_output no postgresql.conf. Achamos que Heroku estava usando o valor de 'escape' enquanto nosso servidor de banco de dados estava usando 'hex' e isso causou o problema.

    
por 05.01.2015 / 06:45