Re: [BUGS] Re: cannot vacuum a database !
От | Steve Wolfe |
---|---|
Тема | Re: [BUGS] Re: cannot vacuum a database ! |
Дата | |
Msg-id | 005f01c011d8$e51c0200$50824e40@iboats.com обсуждение исходный текст |
Ответ на | Re: cannot vacuum a database ! (The Hermit Hacker <scrappy@hub.org>) |
Список | pgsql-general |
> here is the vacuum verbose : > pqReadData() -- backend closed the channel unexpectedly. > This probably means the backend terminated abnormally > before or while processing the request. > We have lost the connection to the backend, so further processing is impossible. Terminating. Well, here's one possibility. If you're still using 6.5.x or before, then if you run out of disk space (even temporarily), Postgres can hork up the table exactly as you describe. You can select from it, insert into it, etc., but can't vacuum it - nor can you describe (\d) it. A pg_dump won't work on it, either. The only way that I was able to rescue the data was to write a Perl script to select all of the data, and format it into a flat file with a bunch of SQL statements - basically, re-creating pg_dump. There may have been a more elegant way of doing it (I think pg_dump has an option to select instead of copy), but I didn't have a lot of time to research it at the time. : ) Upgrading to 7 is a very good thing, even if for nothing else than it has more protection if you run out of disk. And even if you have plenty of disk, it only takes one junior programmer to mess it all up. : ) steve
В списке pgsql-general по дате отправления: