Em 22 de agosto de 2011 21:01, Fábio Gibon - Comex System < [email protected]> escreveu:
> Pessoal, > tenho uma tabela aqui que ao tentar fazer um select count(*), por > exemplo, ocorre o erro abaixo... no backup com o pg_dump também ocorre o > mesmo erro na cópia da tabela. Alguma dica ou só um restore para resolver? > > Se vc tem backup é bom pensar em utilizá-lo... > Pensei em rodar um reindex, mas quando faço o select o banco não > está usando índice e mesmo assim ocorre o erro, então achei inútil tentar > isto... > > ERRO: could not read block 425902 of relation pg_tblspc/16396/24587/26175: > Invalid argument > SQL state: XX000 > > Já tive problemas semelhantes e o backup (pitr e coisas do genero) foram a salvação, mas tb já passei pelo mesmo caso e o cliente *nao tinha* nenhuma espécie de backup, então recuperei quase toda tabela (registro a registro) utilizando a pesquisa pelo "ctid" [1]... tente fazer o seguinte: select * from sua_tabela where ctid = '(425902, 1)'; É bem provável que dê erro, pois aparentemente vc está com problemas físicos... porém vc pode descobrir o menor e maior "ctid" da sua relação danificada e fazer um script que vai lendo registro a registro e salvando em outro banco/tabela e/ou arquivo texto. select min(ctid), max(ctid) from sua_tabela; Caso nada disso adiante e vc não tenha backup e os dados sejam *muito* importantes então sugiro contratar um DBA ou Consultoria especializada para poder melhor ajudá-lo. [1] http://www.postgresql.org/docs/current/interactive/ddl-system-columns.html -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL >> Blog sobre TI: http://fabriziomello.blogspot.com >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello >> Twitter: http://twitter.com/fabriziomello
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
