PostgresSQL - Select

1. PostgresSQL - Select

walter
waltterm2303

(usa Suse)

Enviado em 05/12/2012 - 09:13h




Estou com um problema em uma determinada tabela dando a seguinte msg

ERROR: invalid page header in block 16563 of relation resfiladesist"


Meu banco fico dentro de /db/data/base


drwx------ 2 postgres users 2608 2010-10-23 19:57 1

drwx------ 2 postgres users 2608 2010-10-23 19:57 10792

drwx------ 2 postgres users 2608 2011-04-26 12:26 10793

drwx------ 3 postgres users 7728 2012-09-18 04:30 16384

drwx------ 2 postgres users 4000 2012-06-28 11:52 17325


Tem todas estas pastas gostaria de saber no select como descobrir em que pasta se encontra este bloco?


Alguem pode me ajudar?


stou tentando passar um Reindex em uma determinada tabela e esta dando este erro


bd=# REINDEX TABLE resfila ;

ERROR: invalid page header in block 16563 of relation "resfila"

bd=#


  


2. Re: PostgresSQL - Select

Filippe
spolti

(usa Fedora)

Enviado em 05/12/2012 - 09:22h

Tdo indica que seu banco esteja corrompido, tente faer um bkp e reinstalar;;


3. Corrompido

walter
waltterm2303

(usa Suse)

Enviado em 05/12/2012 - 09:28h



Sim com certeza esta com alguem block defeituoso porem existe algum select para em dizer em qual caminho a mesma se encontra?

minha base esta dentro de

/db/data/base

Dentro de base encontra-se varias pastas

Gostaria de saber onde a mesma fica!

Ex: /db/data/base/16630/44548


4. Re: PostgresSQL - Select

Filippe
spolti

(usa Fedora)

Enviado em 05/12/2012 - 09:36h

o numero citado é um bloco do hd e não endereço lógico....
Ele ta dizendo que aquele bloco ta bugado.

qualquer select que tu executar aconteçe este erro?

Só em uma base específica?



5. Select

walter
waltterm2303

(usa Suse)

Enviado em 05/12/2012 - 09:42h



só em uma tabela especifica


Tenho um comando que muda a tabela de bloco

Ex:


dd if=/dev/sda5 of=base/16630/44548 seek=7099 bs=8192 count=1




6. Re: PostgresSQL - Select

Filippe
spolti

(usa Fedora)

Enviado em 05/12/2012 - 09:59h

Faz isso:

Copia o banco para outro local do hd. Geralmente as bases do postgre ficam em /usr/local/pgsql/data

ai tu copia tudo para otro canto e inicia o postgre com a opção -D novo/local/data






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts