Em 21/07/2014 12:39, Matheus de Oliveira escreveu: 

> 2014-07-21 11:20 GMT-03:00 <ngonz...@ig.com.br>:
> 
>> Executei o comando acima: 
>> 
>> oid | relkind
>> ---------------------------+---------
>> pg_toast.pg_toast_1088147 | t 
>> 
>> Olhei em [1] o tipo t (TOAST table) e nao faço ideia do que seja isto. 
>> 
>> _
> 
> humm... Não tenho boas notícias pra você. As tabelas TOAST armazenam dados de 
> uma determinada tabela. De forma superficial, dados que ocupam muito espaço 
> são comprimidos e salvos na TOAST, veja [1] para mais detalhes.
> 
> Uma tabela TOAST está sempre associada a outra tabela, para achar qual é a 
> tabela que realmente apresenta problemas, você deve executar a seguinte 
> consulta:
> 
> SELECT oid::regclass
> FROM pg_class
> WHERE reltoastrelid = 'pg_toast.pg_toast_1088147'::regclass; 
> 
>> É exatamente no meio do dump que ocorre o problema.
> 
> Na verdade é na consulta do COPY. O fato é que qualquer consulta que atingir 
> (no caso fazer um "detoast") do(s) registro(s) corrompidos na tabela TOAST 
> vão apresentar problema. A solução seria identificar qual(is) é(são) o(s) 
> registro(s) problemático(s) e atualizá-lo(s) ou removê-lo(s). Uma forma é 
> usar LIMIT/OFFSET ou o ctid e ir recuperando registro por registro até um 
> erro ser apresentado. 
> 
>> Tem como fazer o dump ignorando esta pg_toast?
> 
> Não. E nem faria sentido, tabelas tipo TOAST não são descartáveis, elas 
> realmente possuem partes dos dados de suas tabelas. 
> 
>> Posso fazer isso e restaurar sem problemas?
> 
> Não. :-( 
> 
> [1] http://www.postgresql.org/docs/current/static/storage-toast.html [2]
> 
> -- 
> Matheus de Oliveira
> Analista de Banco de Dados
> Dextra Sistemas - MPS.Br nível F!
> www.dextra.com.br/postgres [3]
> 
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> 
> [1]Valeu Matheus,
> Achei a tabela (tem 340mil registros) e estou fazendo um select com 
> limit/offset e quando identificar os registros com problema eu dou um jeito 
> de voltar de um outro servidor que tenho (replicado por bucardo).
> 
> Agradeco a ajuda,
> Nelson
 

Links:
------
[1] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[2] http://www.postgresql.org/docs/current/static/storage-toast.html
[3] http://www.dextra.com.br/postgres/
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a