Erro restore dump: missing data from the column "size"

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Erro restore dump: missing data from the column "size"

Wislan Lopes
Prezados, boa tarde!

Estou realizando uma migração do PostgreSQL 9.1 para 9.5. Realizei o pg_dumpall (binário do 9.6)  com sucesso e sem gerar nenhum erro. Porém ao restaurar chega em uma certa parte que o restore gera o seguinte erro:

ERRO:  missing data from the column "size"
CONTEXTO:  COPY arquivo_itens, linha 1383802: "100306   36      \\037\\213\\010\\000\\000\\000\\000\\000\\000\\000\\314\\273eP&[\\263%\\214\\363\\340\\016..."

Acredito que a possível causa disso seria o "delimitador" que para essa linha o restore esta se "perdendo". O tamanho do arquivo dump chega a 800GB.

Alguém já passou por essa situação? 

Estou utilizando o  Ubuntu Server 16.04.


--

Atenciosamente,
______________________________

Wislan Lopes
Analista de Banco de Dados

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

bemanuel
Como está sendo feito o Export (sintaxe do comando)? 
Se está fazendo para o 9.5 por que não usa o pg_dumpall da versão 9.5 ?

E como está sendo feito o import?

Em ter, 9 de jan de 2018 às 14:56, Wislan Lopes <[hidden email]> escreveu:
Prezados, boa tarde!

Estou realizando uma migração do PostgreSQL 9.1 para 9.5. Realizei o pg_dumpall (binário do 9.6)  com sucesso e sem gerar nenhum erro. Porém ao restaurar chega em uma certa parte que o restore gera o seguinte erro:

ERRO:  missing data from the column "size"
CONTEXTO:  COPY arquivo_itens, linha 1383802: "100306   36      \\037\\213\\010\\000\\000\\000\\000\\000\\000\\000\\314\\273eP&[\\263%\\214\\363\\340\\016..."

Acredito que a possível causa disso seria o "delimitador" que para essa linha o restore esta se "perdendo". O tamanho do arquivo dump chega a 800GB.

Alguém já passou por essa situação? 

Estou utilizando o  Ubuntu Server 16.04.


--

Atenciosamente,
______________________________

Wislan Lopes
Analista de Banco de Dados
_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

Wislan Lopes

Em 9 de janeiro de 2018 15:05, Bruno Silva <[hidden email]> escreveu:
Como está sendo feito o Export (sintaxe do comando)? 
 >> Bruno estou utilizando o comando sem parâmetros: pg_dumpall -Uusuario -hIP > dump.sql
Se está fazendo para o 9.5 por que não usa o pg_dumpall da versão 9.5 ?
 >> Estou utilizando um servidor Linux como intermediário que já tinha o binário do pg_dumpall na 9.6.6. Pensei que não teria problema.
E como está sendo feito o import?   
 >> Estou fazendo também da forma mais básica: psql -Uusuario -hIP postgres < dump.sql > restore.log 2>&1

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

bemanuel
Wislan, a diferença das versões pode ter características que gerem problemas. Prefira sempre usar o pg_dump na versão que você deseja migrar.
Outra coisa, eu prefiro fazer o dump por bases, fica mais fácil de trabalhar e até pra restaurar uma só base - caso seja necessário.
E ainda pode fazer o dump e restore usando o recurso de jobs, que deixará mais rápido pois utilizará melhor os recursos do servidor.
Veja se esse script lhe ajuda.


--- INICIO ---
#!/bin/bash
psql=$(which psql)
dump=$(which pg_dump)
dumpall=$(which pg_dumpall)

bases=$($psql -qAt -Upostgres -c "select datname from pg_stat_database where datname not in ('template1', 'template0', 'postgres') order by 1")
for i in $bases; do
   echo "Backup da base $i"
   $dump -h<HOST> -U<user> -d $i -j 4 -Fd -f $i
done

$dumpall -h<host> -U<user> -r > roles.sql

---FIM--

Já para o restore você só precisa
pg_restore -Fd -f <pasta> -d <base_restaurar> -h<HOST_DESTINO> -U<user> -j 4




Em ter, 9 de jan de 2018 às 15:48, Wislan Lopes <[hidden email]> escreveu:
Em 9 de janeiro de 2018 15:05, Bruno Silva <[hidden email]> escreveu:
Como está sendo feito o Export (sintaxe do comando)? 
 >> Bruno estou utilizando o comando sem parâmetros: pg_dumpall -Uusuario -hIP > dump.sql
Se está fazendo para o 9.5 por que não usa o pg_dumpall da versão 9.5 ?
 >> Estou utilizando um servidor Linux como intermediário que já tinha o binário do pg_dumpall na 9.6.6. Pensei que não teria problema.
E como está sendo feito o import?   
 >> Estou fazendo também da forma mais básica: psql -Uusuario -hIP postgres < dump.sql > restore.log 2>&1
_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

bemanuel
Corrigindo o trecho "a diferença das versões pode ter características que gerem problema"
A diferença entre as versões ( 9.x <> 9.y) pode fazer com que o script gerado pelo pg_dump de versões distintas acabe gerando um arquivo/script de dump incompatível com a versão de destino.

Em ter, 9 de jan de 2018 às 22:54, Bruno Silva <[hidden email]> escreveu:
Wislan, a diferença das versões pode ter características que gerem problemas. Prefira sempre usar o pg_dump na versão que você deseja migrar.
Outra coisa, eu prefiro fazer o dump por bases, fica mais fácil de trabalhar e até pra restaurar uma só base - caso seja necessário.
E ainda pode fazer o dump e restore usando o recurso de jobs, que deixará mais rápido pois utilizará melhor os recursos do servidor.
Veja se esse script lhe ajuda.


--- INICIO ---
#!/bin/bash
psql=$(which psql)
dump=$(which pg_dump)
dumpall=$(which pg_dumpall)

bases=$($psql -qAt -Upostgres -c "select datname from pg_stat_database where datname not in ('template1', 'template0', 'postgres') order by 1")
for i in $bases; do
   echo "Backup da base $i"
   $dump -h<HOST> -U<user> -d $i -j 4 -Fd -f $i
done

$dumpall -h<host> -U<user> -r > roles.sql

---FIM--

Já para o restore você só precisa
pg_restore -Fd -f <pasta> -d <base_restaurar> -h<HOST_DESTINO> -U<user> -j 4




Em ter, 9 de jan de 2018 às 15:48, Wislan Lopes <[hidden email]> escreveu:
Em 9 de janeiro de 2018 15:05, Bruno Silva <[hidden email]> escreveu:
Como está sendo feito o Export (sintaxe do comando)? 
 >> Bruno estou utilizando o comando sem parâmetros: pg_dumpall -Uusuario -hIP > dump.sql
Se está fazendo para o 9.5 por que não usa o pg_dumpall da versão 9.5 ?
 >> Estou utilizando um servidor Linux como intermediário que já tinha o binário do pg_dumpall na 9.6.6. Pensei que não teria problema.
E como está sendo feito o import?   
 >> Estou fazendo também da forma mais básica: psql -Uusuario -hIP postgres < dump.sql > restore.log 2>&1
_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

Wislan Lopes
In reply to this post by bemanuel
Bruno, desde já muito obrigado pelo retorno e ajuda. Estarei testando o script e retorno informando como foi o processo.

Valew mesmo.

Em 9 de janeiro de 2018 22:54, Bruno Silva <[hidden email]> escreveu:
Wislan, a diferença das versões pode ter características que gerem problemas. Prefira sempre usar o pg_dump na versão que você deseja migrar.
Outra coisa, eu prefiro fazer o dump por bases, fica mais fácil de trabalhar e até pra restaurar uma só base - caso seja necessário.
E ainda pode fazer o dump e restore usando o recurso de jobs, que deixará mais rápido pois utilizará melhor os recursos do servidor.
Veja se esse script lhe ajuda.


--- INICIO ---
#!/bin/bash
psql=$(which psql)
dump=$(which pg_dump)
dumpall=$(which pg_dumpall)

bases=$($psql -qAt -Upostgres -c "select datname from pg_stat_database where datname not in ('template1', 'template0', 'postgres') order by 1")
for i in $bases; do
   echo "Backup da base $i"
   $dump -h<HOST> -U<user> -d $i -j 4 -Fd -f $i
done

$dumpall -h<host> -U<user> -r > roles.sql

---FIM--

Já para o restore você só precisa
pg_restore -Fd -f <pasta> -d <base_restaurar> -h<HOST_DESTINO> -U<user> -j 4




Em ter, 9 de jan de 2018 às 15:48, Wislan Lopes <[hidden email]> escreveu:
Em 9 de janeiro de 2018 15:05, Bruno Silva <[hidden email]> escreveu:
Como está sendo feito o Export (sintaxe do comando)? 
 >> Bruno estou utilizando o comando sem parâmetros: pg_dumpall -Uusuario -hIP > dump.sql
Se está fazendo para o 9.5 por que não usa o pg_dumpall da versão 9.5 ?
 >> Estou utilizando um servidor Linux como intermediário que já tinha o binário do pg_dumpall na 9.6.6. Pensei que não teria problema.
E como está sendo feito o import?   
 >> Estou fazendo também da forma mais básica: psql -Uusuario -hIP postgres < dump.sql > restore.log 2>&1
_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



--

Atenciosamente,
______________________________

Wislan Lopes
Analista de Banco de Dados
PD CASE Informática LTDA

Microsoft Certified IT Professional
MCP ID: 7890777
 
+55 (91) 99323-0532
+55 (98) 98187-8395

Antes de imprimir este e-mail pense em sua responsabilidade e compromisso com o meio ambiente.

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

bemanuel
Deu certo?

Em qua, 10 de jan de 2018 às 09:03, Wislan Lopes <[hidden email]> escreveu:
Bruno, desde já muito obrigado pelo retorno e ajuda. Estarei testando o script e retorno informando como foi o processo.

Valew mesmo.

Em 9 de janeiro de 2018 22:54, Bruno Silva <[hidden email]> escreveu:
Wislan, a diferença das versões pode ter características que gerem problemas. Prefira sempre usar o pg_dump na versão que você deseja migrar.
Outra coisa, eu prefiro fazer o dump por bases, fica mais fácil de trabalhar e até pra restaurar uma só base - caso seja necessário.
E ainda pode fazer o dump e restore usando o recurso de jobs, que deixará mais rápido pois utilizará melhor os recursos do servidor.
Veja se esse script lhe ajuda.


--- INICIO ---
#!/bin/bash
psql=$(which psql)
dump=$(which pg_dump)
dumpall=$(which pg_dumpall)

bases=$($psql -qAt -Upostgres -c "select datname from pg_stat_database where datname not in ('template1', 'template0', 'postgres') order by 1")
for i in $bases; do
   echo "Backup da base $i"
   $dump -h<HOST> -U<user> -d $i -j 4 -Fd -f $i
done

$dumpall -h<host> -U<user> -r > roles.sql

---FIM--

Já para o restore você só precisa
pg_restore -Fd -f <pasta> -d <base_restaurar> -h<HOST_DESTINO> -U<user> -j 4




Em ter, 9 de jan de 2018 às 15:48, Wislan Lopes <[hidden email]> escreveu:
Em 9 de janeiro de 2018 15:05, Bruno Silva <[hidden email]> escreveu:
Como está sendo feito o Export (sintaxe do comando)? 
 >> Bruno estou utilizando o comando sem parâmetros: pg_dumpall -Uusuario -hIP > dump.sql
Se está fazendo para o 9.5 por que não usa o pg_dumpall da versão 9.5 ?
 >> Estou utilizando um servidor Linux como intermediário que já tinha o binário do pg_dumpall na 9.6.6. Pensei que não teria problema.
E como está sendo feito o import?   
 >> Estou fazendo também da forma mais básica: psql -Uusuario -hIP postgres < dump.sql > restore.log 2>&1
_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



--

Atenciosamente,
______________________________

Wislan Lopes
Analista de Banco de Dados
PD CASE Informática LTDA

Microsoft Certified IT Professional
MCP ID: 7890777
 
<a href="tel:(91)%2099323-0532" value="+5591993230532" target="_blank">+55 (91) 99323-0532
<a href="tel:(98)%2098187-8395" value="+5598981878395" target="_blank">+55 (98) 98187-8395

Antes de imprimir este e-mail pense em sua responsabilidade e compromisso com o meio ambiente.
_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

Wislan Lopes
Bruno, bom dia!

Quando coloquei pra rodar o script gerou um erro solicitando que fosse acrescentado o parâmetro: --no-synchronized-snapshots no comando pg_dump 
Após acrescentar começou a rodar e realmente é bem rápido, porém quando chegou em uma base de dados que possui documentos binários(pdfs, imagens, etc) o processo demorou mais que o normal. 
Fazendo uma comparação, quando fiz o pg_dampall incluindo tudo, estou gastando 6h:30min pra concluir. Fazendo via seu script virou o dia e ainda não havia acabado. Pensei que tivesse parado, mas verifiquei que estava rodando porém gerando o arquivo de backup lentamente.

Agora sobre aquele erro que estava dando, realmente era por conta da versão do binário do pg_dumpall, fiz o Downgrade para 9.5 e o restore funcionou, porém esta levando 10 horas pra concluir.

Agradeço ai pela ajuda, realmente pensava que não iria ter problema usando o binário da 9.6.

--

Atenciosamente,
______________________________

Wislan Lopes
Analista em Tecnologia da Informação - Infraestrutura
UNIVERSIDADE FEDERAL RURAL DA AMAZÔNIA


Antes de imprimir este e-mail pense em sua responsabilidade e compromisso com o meio ambiente.

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Reply | Threaded
Open this post in threaded view
|

Re: Erro restore dump: missing data from the column "size"

bemanuel
Wislan, você já deu uma olhada no pg_upgrade?
Já fiz um processo de uma base de mais de 200 G usando ele. Para mim é o modo mais rápido hoje existente.
Dá uma olhada na feature "link" dele.

Em 11 de jan de 2018 14:44, "Wislan Lopes" <[hidden email]> escreveu:
Bruno, bom dia!

Quando coloquei pra rodar o script gerou um erro solicitando que fosse acrescentado o parâmetro: --no-synchronized-snapshots no comando pg_dump 
Após acrescentar começou a rodar e realmente é bem rápido, porém quando chegou em uma base de dados que possui documentos binários(pdfs, imagens, etc) o processo demorou mais que o normal. 
Fazendo uma comparação, quando fiz o pg_dampall incluindo tudo, estou gastando 6h:30min pra concluir. Fazendo via seu script virou o dia e ainda não havia acabado. Pensei que tivesse parado, mas verifiquei que estava rodando porém gerando o arquivo de backup lentamente.

Agora sobre aquele erro que estava dando, realmente era por conta da versão do binário do pg_dumpall, fiz o Downgrade para 9.5 e o restore funcionou, porém esta levando 10 horas pra concluir.

Agradeço ai pela ajuda, realmente pensava que não iria ter problema usando o binário da 9.6.

--

Atenciosamente,
______________________________

Wislan Lopes
Analista em Tecnologia da Informação - Infraestrutura
UNIVERSIDADE FEDERAL RURAL DA AMAZÔNIA


Antes de imprimir este e-mail pense em sua responsabilidade e compromisso com o meio ambiente.

_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


_______________________________________________
pgbr-geral mailing list
[hidden email]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral