On 01/21/2014 07:43 PM, Christian Convey wrote: > Hi all, > > I'm playing around with Postgres, and I thought it might be fun to > experiment with alternative formats for relation blocks, to see if I can > get smaller files and/or faster server performance.
It's not clear how you'd do this without massively rewriting the guts of Pg. Per the docs on internal structure, Pg has a block header, then tuples within the blocks, each with a tuple header and list of Datum values for the tuple. Each Datum has a generic Datum header (handling varlena vs fixed length values etc) then a type-specific on-disk representation controlled by the type output function for that type. At least, that's my understanding - I haven't had cause to delve into the on-disk format yet. What concrete problem do you mean to tackle? What idea do you want to explore or implement? > Does anyone know if this has been done before with Postgres? I would > have assumed yes, but I'm not finding anything in Google about people > having done this. AFAIK (and I don't know much in this area) the storage manager isn't very pluggable compared to the rest of Pg. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers