We are evaluating PostgreSQL for a possible port to our
proprietary hardware platform.  The hardware is a very
high end (processing power, I/O throughput, storage capacity)
storage system, attached to a host machine running Windows2K.
The question is what's the right way to do it.  The following
is a brief description of what we think could be done,  we would
like to know your opinion about whether we are on the right
track.

The plan is to extend PostgresSql with data access functions
to be executed on the storage hardware.   Most of the backend
code would be running on the host machine under Win2K, but 
user data queries would be dispatched to the storage system, 
where the user tables will be searched and then the results
will be returned to the host.

On the host, most the PostGreSQL will run unchanged, including 
the front end, the backend servers: the parser, planner, catalog,
and the executor.   The existing heapam interface is still used
to access system tables.  The system tables will be stored and
accessed using the existing storage functions from files into 
the host machine memory and accessed through the buffer cache
on the host machine.

For user tables, the plan is to modify all the components that
call heapam interface (mainly Command and Executor) for user data
to call a new 'extended heapam', which basically has the same
interface of the heapam but will send the request to the storage
system.  Page/record locking will also be changed to call the 
extended heapam.  

We would like to get your feedback about this aproach - are we on the
right track or is it a waste of time?

Hsin H. Lee
Pyxsys Corporation
142 Q North Road
Sudbury, MA 01776
Tel: 978-371-9115 ext. 116
Email: hlee@pyxsys.net


Mon, 23 Jul 2001 11:03:29 -0400
"Hsin Lee" <hlee@pyxsys.net>
Question about porting the PostgreSQL 
"Hsin Lee" <hlee@pyxsys.net> writes:
> We would like to get your feedback about this aproach - are we on the
> right track or is it a waste of time?

Impossible to tell, since you haven't said word one about what this
box is or what it can do.  If it were plain storage hardware, why do
you need to muck with the innards of Postgres at all?  Just use it
as disk.  If it's not plain storage, you'll need to be a lot more
specific about what you expect the box to do.  If there's lots of
processing power in the box, why don't you just run *all* of Postgres
inside the box?  (Running any part of PG on Win2K is not my idea
of the correct solution in any case ;-).)

FWIW, I find it very hard to visualize a case where I'd think that
replacing heapam is the right approach.  Replacing the storage
manager could be the right approach for certain situations, but
replacing heapam means replacing a lot of extremely critical
(read breakable) code for no obvious reason.

			regards, tom lane

Wed, 25 Jul 2001 03:01:30 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Question about porting the PostgreSQL 

>Impossible to tell, since you haven't said word one about what this
>box is or what it can do.  If it were plain storage hardware, why do

thanks for your reply.  Yes I know it's hard to explain
why we plan to do what I described without explaining more
about the hardware we have.  So it sounds like it's possible
but very difficult due to the sensitive code to be changed.

Hsin H. Lee



Fri, 27 Jul 2001 16:37:17 -0400
"Hsin Lee" <hlee@pyxsys.net>
RE: Question about porting the PostgreSQL 