Thread: table format specification
Hi, I'm writing a small program to recover specific tables from a severely crippled database, and while I'm able to identify most fields on a hex dump of the table file, there are several 'gaps' (probably headers and footers and/or additional info) that I can't identify. Where can I find documentation regarding the table file layout? I'm working with files generated with Postgres 8.25. Kind Regards, João Pinheiro
On Tue, Apr 29, 2008 at 02:19:24PM +0100, "PontoSI - Consultoria, Informática e Serviços LDA" wrote: > I'm writing a small program to recover specific tables from a severely > crippled database, and while I'm able to identify most fields on a hex > dump of the table file, there are several 'gaps' (probably headers and > footers and/or additional info) that I can't identify. Where can I find > documentation regarding the table file layout? I'm working with files > generated with Postgres 8.25. There's the manual which has quite a bit of detail. If you want code there are pg_filedump and pgfsck which can parse datafiles (as long as your database is in some kind of readable state). Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Please line up in a tree and maintain the heap invariant while > boarding. Thank you for flying nlogn airlines.
PontoSI - Consultoria, Informática e Serviços LDA wrote: > I'm writing a small program to recover specific tables from a severely > crippled database, and while I'm able to identify most fields on a hex > dump of the table file, there are several 'gaps' (probably headers and > footers and/or additional info) that I can't identify. Where can I find > documentation regarding the table file layout? I'm working with files > generated with Postgres 8.25. The file itself consists of 8k pages. src/include/storage/bufpage.h and src/include/access/htup.h would be a good place to start on understanding the page layout. There's also a chapter in the manual about it. You might also want to take a look at the pageinspect contrib module, in 8.3. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com