Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-hackers by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group