Re: I am confused after reading codes of PostgreSQL three week

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "hom" <obsidianhom(at)gmail(dot)com>,<pgsql-hackers(at)postgresql(dot)org>
Subject: Re: I am confused after reading codes of PostgreSQL three week
Date: 2011-03-17 15:49:49
Message-ID: 4D81E74D020000250003BA30@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

hom <obsidianhom(at)gmail(dot)com> wrote:

> I try to known how a database is implemented and I have been
> reading PG source codes for a month.

That's ambitious.

find -name '*.h' -or -name '*.c' \
| egrep -v '^\./src/test/.+/tmp_check/' \
| xargs cat | wc -l
1059144

Depending on how you do the math, that's about 50,000 lines of code
per day to get through it in the time you mention.

> Is there any article or some way could help understand the source
> code ?

Your best bet would be to follow links from the Developers tab on
the main PostgreSQL web site:

http://www.postgresql.org/developer/

In particular the Developer FAQ page:

http://wiki.postgresql.org/wiki/Developer_FAQ

And the "Coding" links:

http://www.postgresql.org/developer/coding

may help.

Before reading code in a directory, be sure to read any README
file(s) in that directory carefully.

It helps to read this list.

In spite of reviewing all of that myself, it was rather intimidating
when I went to work on a major patch 14 months ago. Robert Haas
offered some good advice which served me well in that effort --
divide the effort in to a series of incremental steps, each of which
deals with a small enough portion of the code to get your head
around. As you work in any one narrow area, it becomes increasingly
clear; with that as a base you can expand your scope.

When you're working in the code, it is tremendously helpful to use
an editor with ctags support (or similar IDE functionality).

I hope this is helpful. Good luck.

-Kevin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-03-17 16:17:22 Re: Re: [COMMITTERS] pgsql: Basic Recovery Control functions for use in Hot Standby. Pause,
Previous Message Bruce Momjian 2011-03-17 15:22:12 Re: I am confused after reading codes of PostgreSQL three week