Re: On How To Shorten the Steep Learning Curve Towards PG Hacking...

From: Kang Yuzhe <tiggreen87(at)gmail(dot)com>
To: "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: On How To Shorten the Steep Learning Curve Towards PG Hacking...
Date: 2017-03-28 06:40:51
Message-ID: CAH=t1kr3Nx3w+dPxZBhE3BQP7_aP85UW_mXuX4OabnOOwbB7zA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Thanks Tsunakawa for such an informative reply.

Almost all of the docs related to the internals of PG are of introductory
concepts only.
There is even more useful PG internals site entitled "The Internals of
PostgreSQL" in http://www.interdb.jp/pg/ translation of the Japanese PG
Internals.

The query processing framework that is described in the manual as you
mentioned is of informative and introductory nature.
In theory, the query processing framework described in the manual is
understandable.

Unfortunate, it is another story to understand how query processing
framework in PG codebase really works.
It has become a difficult task for me to walk through the PG source code
for example how SELECT/INSERT/TRUNCATE in the the different modules under
"src/..". really works.

I wish there were Hands-On with PostgreSQL Internals like
https://bkmjournal.wordpress.com/2017/01/22/hands-on-with-postgresql-internals/
for more complex PG features.

For example, MERGE SQL standard is not supported yet by PG. I wish there
were Hands-On with PostgreSQL Internals for MERGE/UPSERT. How it is
implemented in parser/executor/storage etc. modules with detailed
explanation for each code and debugging and other important concepts
related to system programming.

Zeray,
Regards

On Tue, Mar 28, 2017 at 6:04 AM, Tsunakawa, Takayuki <
tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com> wrote:

> From: pgsql-hackers-owner(at)postgresql(dot)org
> > [mailto:pgsql-hackers-owner(at)postgresql(dot)org] On Behalf Of Kang Yuzhe
>
> > 1. Prepare Hands-on with PG internals
> >
> >
> > For example, a complete Hands-on with SELECT/INSERT SQL Standard PG
> > internals. The point is the experts can pick one fairly complex feature
> > and walk it from Parser to Executor in a hands-on manner explaining step
> > by step every technical detail.
>
> I sympathize with you. What level of detail do you have in mind? The
> query processing framework is described in the manual:
>
> Chapter 50. Overview of PostgreSQL Internals
> https://www.postgresql.org/docs/devel/static/overview.html
>
> More detailed source code analysis is provided for very old PostgreSQL
> 7.4, but I guess it's not much different now. The document is in Japanese
> only:
>
> http://ikubo.x0.com/PostgreSQL/pg_source.htm
>
> Are you thinking of something like this?
>
> MySQL Internals Manual
> https://dev.mysql.com/doc/internals/en/
>
>
>
>
>
> Regards
> Takayuki Tsunakawa
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro HORIGUCHI 2017-03-28 06:51:00 Re: [HACKERS] Bug in Physical Replication Slots (at least 9.5)?
Previous Message Michael Paquier 2017-03-28 06:12:34 Re: Proposal for changes to recovery.conf API