Обсуждение: table format specification

Поиск
Список
Период
Сортировка

table format specification

От
"PontoSI - Consultoria, Informática e Serviços LDA"
Дата:
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


Re: table format specification

От
Martijn van Oosterhout
Дата:
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.

Re: table format specification

От
"Heikki Linnakangas"
Дата:
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