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/
Show quoted text
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