Mam sobie baze w Postgresie i ostatnio, gdy chce sie odwolac do
jednej z tabelek, mam komunikat:
"cannot find attribute 4 of relation .... nazwa tabeli ..."
Gdy probuje ja usunac - dzieje sie to samo. Co robic???
Slawek
Jak piszesz cokolwiek o błędzie, napisz też której wersji PostgreSQLa
używasz. Zakładam że 7.2.3.
Masz problem -- coś padło i prawdopodobnie jest to sprzęt (pamięć RAM,
przetaktowany procesor itp.). Powyższy błąd jest zgłaszany, gdy
cache, przechowujący w pamięci kopię najczęściej wykorzystywanych
wierszy tabel, traci spójność. Koniecznie zastopuj Postgresa i odpal
na tym komputerze program typu memtest86. Potem proponuję wyjąć dysk,
przenieść do w 100% sprawnego komputera, uruchomić Postgresa i
stworzyć backup bazy danych. Powinno się udać.
Jeżeli nie masz innego komputera, to próbuj tworzyć backup na tym
samym, ale wcześniej przetestuj pamięć.
--
Adam Buraczewski <ad...@polbox.pl> * Linux registered user #165585
GCS/TW d- s-:+>+:- a- C+++(++++) UL++++$ P++ L++++ E++ W+ N++ o? K? w--
O M- V- PS+ !PE Y PGP+ t+ 5 X+ R tv- b+ DI? D G++ e+++>++++ h r+>++ y?
Moze da sie jakos wymusic skasowanie jej i zalozenie od nowa??
Slawek
Posłuchaj, napisałeś zbyt mało, żeby można było z tego dowiedzieć się
co się w twoim komputerze stało. Grupa newsowa (w tym ja) to nie wróżki.
Dobrze, że przytoczyłeś komunikat błędu, ale to nie wyjaśnia
wszystkiego. Spróbuj dokładniej opisać problem i chociaż odpowiedzieć
na pytania:
0. Której wersji PostgreSQLa/psql/libpq/ODBC/JDBC/DBI/itp. używasz.
1. W jakiej *dokładnie* sytuacji ten błąd się pojawia (piszesz o
bliżej nieokreślonym "odwołaniu" do tabeli, sorry ale to nie jest
termin który jednoznacznie określa co robisz). Czy są jakieś
instrukcje operujące na tej tabeli, które nie powodują tego błędu?
Jakie?
2. Jaka jest struktura tej tabeli.
3. Czy system ostatnio przeżył jakąś awarię, czy były jakieś inne
niepokojące objawy. Co ostatnio robiłeś zanim ten błąd się pojawił.
4. Jakie akcje podejmowałeś, żeby wybrnąć z tej sytuacji (czy chociaż
zrobiłeś VACUUM FULL, czy kombinowałeś coś z REINDEX itp.), czy te
akcje też zakończyły się komunikatami błędów, jakimi dokładnie.
5. Czy ta baza ma coś niestandardowego (jakieś własne typy danych),
czy na tą tabelę założone są jakieś reguły (RULE).
i tak dalej. Każda informacja może się okazać nieoceniona, nawet to
co Tobie wydaje się zupełnie nieistotne. Niedawno ktoś próbował na
pgsql-hackers szukać ratunku, podał wszystko poza tym, że uruchomił...
pg_resetxlog. W końcu Tom Lane zgadł co się stało, ale by mu to
zajęło mniej czasu, gdyby wiedział.
Pozdrawiam!