Clues about tables fileformat - Mailing list pgsql-general

From Miguel A. Arévalo
Subject Clues about tables fileformat
Date
Msg-id 3C7FAC65.7050203@marevalo.net
Whole thread Raw
Responses Re: Clues about tables fileformat  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-general
First, the embarrasing thing, in summary, deleted table, no backup at
all, neither vacuum so ended with a pretty file with all my data but no
clever way to access them.

I've search for this question in the archives and only find a reference
to "The Tao of Backup" which enlightened me, and will be very useful for
future reference but doesn't solve my present problem. Also find some
references for a "not so hard to make" recover utility so...

I'm not a bad C and PERL hacker so I'm trying to contribute this utility
but havent't found any doc about this file format (well, yes,
http://developer.postgresql.org/docs/postgres/page.html, Chapter 7. Page
Files, but it's somehow cryptical), I've scanned also
some of the source code but haven't been able to find any information
that helps me (I've only studied some parts of the fti contrib module
before), also tried to do some rev. eng. but this is no the way to go so
I would be grateful is someone can:

- Point me to some more detailed developer doc about this file format.

- Point me to some part of the source code that could be of help, please
be precise because I'm not very familiar with the tree.

- Or even explain, in summary, something about this file format, or some
of the bytes needed for me to write this tool.

- Of course, if someone has made or started this tool I will be very
happy to receive an URL to a .tar.gz ;-) .

On another point, I've been thinking about this tool, and will accept
hints about this proccess:

- The tool will receive the schema of the table and a copy of the file
which stores this table, as far I know the schema is not stored in the
table data file.

- After scanning the file will print a (sorted or filtered by
transaction id or number of altered rows) list of transactions.

- Ask for a trasaction id and store all the data on a new .sql file much
like the one generated from a pg_dump.

I think that this is fairly feasible and practical, am I wrong?


So, thanks in advance for your help, and thank you all for this killer
application.

PS: Oops, forgot something, I'm talkin about PG 7.1 after that I will
port it to 7.2 if someone finds it usefull.

Miguel A. Arévalo
marevalo@marevalo.net
____________________________________________
Biblios.Org: All your Book Are Belong to Us.






pgsql-general by date:

Previous
From: Mark Rae
Date:
Subject: Aborting transaction on error
Next
From: "Samuel J. Sutjiono"
Date:
Subject: LIMIT and OFFSET