Hi, On 2017/03/28 15:40, Kang Yuzhe wrote: > 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.
I am not sure if I can show you that one place where you could learn all of that, but many people who started with PostgreSQL development at some point started by exploring the source code itself (either for learning or to write a feature patch), articles on PostgreSQL wiki, and many related presentations accessible using the Internet. I liked the following among many others: Introduction to Hacking PostgreSQL: http://www.neilconway.org/talks/hacking/ Inside the PostgreSQL Query Optimizer: http://www.neilconway.org/talks/optimizer/optimizer.pdf Postgres Internals Presentations: http://momjian.us/main/presentations/internals.html Thanks, Amit -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers