dealing with binary files

Tom Brown tom at nextstate.net
Mon Jan 7 10:08:28 EST 2008


On Mon, 2008-01-07 at 11:57 -0200, Guilherme Polo wrote:
> 2008/1/7, Gerardo Herzig <gherzig at fmed.uba.ar>:
> > Hi all. Im trying to read a binary data from an postgres WAL archive.
> > If i make a
> > xfile = open('filename', 'rb').xreadlines()
> > line = xfile.next()
> >
> > i see this sort of thing:
> > ']\xd0\x03\x00\x01\x00\x00\x00\r\x00\x00\x00\x00\x00\x00JM//DI+,D\x00\x00\x00\x01$\x00\x00\x00\x7f\x06\x00\x00y\r\t\x00\x02\x0f\t\x00\x00\x00\x10\x00)\x00\x01\x00\x12\x08
> > \x00^\xc2\x0c\x00\x08\x00\x00\x003001({\xe8\x10\r\x00\x00\x00\xe4\xff\xffI\x10?l\x01@\x00\x00\x00$\x00\x00\x00\x00\n'
> >
> > This file suppose to have some information about database activity, but
> > at this point i cant do more than this, because i cant figure out what
> > to do in order to have some 'readable' text.
> >
> > Im guessing is some C code, im reading the struct module to see if it
> > helps, but im not into C programming, and im lost at the start of my
> > problem.
> 
> You are looking at the correct module, struct. But in order to
> understand or even correctly extract data from a binary file, you need
> to know its structure. There should be some document describing the
> Postgre WAL file format.
> 

"The log record headers are described in access/xlog.h"

http://www.postgresql.org/docs/8.2/interactive/wal-internals.html




More information about the Python-list mailing list