Thread: Help a newbie?

Help a newbie?

From
Rafael Kaufmann
Date:
Hi, I'm a programmer in Brazil (i.e., kinda far away from the
technological mainstream) and I've been trying to learn more about the
PostgreSQL internals, maybe even help with its development. So I
downloaded the source tarball for the last release. Thing is, last time
I checked, there was minimal developer-oriented documentation, and all
those hundreds of barely-commented source files can be very intimidating
- specially when you're not looking for anything specific, but only
trying to figure out how the software /works/.

I understand that this is what I should expect since you are already
familiar with the source code, but you could use some fresh blood,
right? So I'd really appreciate it if anyone would point me in the
direction of some in-depth docos, detailed texts about the Postgres
architecture or anything else that would help me get started hacking.


Thanks in advance,

-- 
Rafael Kaufmann
<rnedal@olimpo.com.br>


Re: [HACKERS] Help a newbie?

From
Tom Lane
Date:
Rafael Kaufmann <rnedal@olimpo.com.br> writes:
> technological mainstream) and I've been trying to learn more about the
> PostgreSQL internals, maybe even help with its development. So I
> downloaded the source tarball for the last release.

Actually, I'd recommend working from a recent snapshot --- there's been
many changes and improvements since 6.4.2.

> So I'd really appreciate it if anyone would point me in the
> direction of some in-depth docos, detailed texts about the Postgres
> architecture or anything else that would help me get started hacking.

There is a fair amount of stuff in the Administrator's Guide,
Programmer's Guide, and Developer's Guide parts of the manual.
It won't all make sense on first reading, but I'd certainly recommend
reading those parts of the manual thoroughly.

There are also useful bits of documentation buried in less-obvious
places, such as the backend flowchart in src/tools/backend/flow.jpg
and the README files found in many of the sourcecode directories.

One thing to watch out for is that not all of the doco is up to date
:-(.  Checking the source code is always the most reliable guide to
How It Really Works.

A really useful trick is to set up a full-text index of the source tree
(I use 'glimpse' from http://glimpse.cs.arizona.edu/) so that you can
easily find all the uses of a particular routine, look for the place
where a particular error message is generated, etc.

If you want to delve into the actual database algorithms then you should
have one of the standard database textbooks at hand (anyone care to
recommend some titles?).

If you've got specific questions about where to look for particular
functions, feel free to ask ... 

Welcome aboard!
        regards, tom lane


Re: [HACKERS] Help a newbie?

From
Bruce Momjian
Date:
> Rafael Kaufmann <rnedal@olimpo.com.br> writes:
> > technological mainstream) and I've been trying to learn more about the
> > PostgreSQL internals, maybe even help with its development. So I
> > downloaded the source tarball for the last release.
> 
> Actually, I'd recommend working from a recent snapshot --- there's been
> many changes and improvements since 6.4.2.
> 
> > So I'd really appreciate it if anyone would point me in the
> > direction of some in-depth docos, detailed texts about the Postgres
> > architecture or anything else that would help me get started hacking.
> 
> There is a fair amount of stuff in the Administrator's Guide,
> Programmer's Guide, and Developer's Guide parts of the manual.
> It won't all make sense on first reading, but I'd certainly recommend
> reading those parts of the manual thoroughly.
> 
> There are also useful bits of documentation buried in less-obvious
> places, such as the backend flowchart in src/tools/backend/flow.jpg
> and the README files found in many of the sourcecode directories.
Don't forget the developers FAQ.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Help a newbie?

From
Rafael Kaufmann
Date:
Tom Lane wrote:

> 
> There is a fair amount of stuff in the Administrator's Guide,
> Programmer's Guide, and Developer's Guide parts of the manual.
> It won't all make sense on first reading, but I'd certainly recommend
> reading those parts of the manual thoroughly.

I already did, but not very carefully. So I'll be sure to read those
again. Nonetheless, the absence of a text specifically detailing the
inner workings of the system 

<SNIP>

> 
> A really useful trick is to set up a full-text index of the source tree
> (I use 'glimpse' from http://glimpse.cs.arizona.edu/) so that you can
> easily find all the uses of a particular routine, look for the place
> where a particular error message is generated, etc.

I'll be sure to get Glimpse running as soon as I have a stable release
of LinuxPPC R5 (for which I've been waiting since December) on my box.
(Yes, that does mean I'm still stuck with the mockery of a system that
is the MacOS... don't flame me)

> 
> If you want to delve into the actual database algorithms then you should
> have one of the standard database textbooks at hand (anyone care to
> recommend some titles?).

So I guess that means I'll be paying computerliteracy.com a little
visit, yes? (Or is there stuff like that available online?)

<SNIP>

> 
> Welcome aboard!

Hey, thanks! :)


-- 
Rafael Kaufmann
<rnedal@olimpo.com.br>


Re: [HACKERS] Help a newbie?

From
Thomas Lockhart
Date:
> Don't forget the developers FAQ.

... and there is some new stuff donated by Stefan Simkovics from his
Master's Thesis which walks you through the query processing. I'm in
the process of integrating it into the docs; you might find the html
docs on the web site or look for the html docs built in
 ftp://ftp.postgresql.org/pub/doc/*.tar.gz

The first chapters in the Developer's or Programmer's Guide contain
this.
                   - Tom

-- 
Thomas Lockhart                lockhart@alumni.caltech.edu
South Pasadena, California