Hi Shiraishi-san, On Thu, Sep 26, 2019 at 3:06 PM Youki Shiraishi <shirai...@computer.org> wrote: > > Hi, > > I have just started to read the PostgreSQL code and found a lack of comments > for a postgres backend program in bootstrap mode. > When I saw the --boot option implemented in src/backend/main/main.c at first > time, I did not understand why the --boot option is not documented and what > it is used for. > The only way to know these things is to type `grep -r '\--boot' .` on a > project root. > It is easy to see that the --boot option is used in initdb for some > historical reasons, but it is painful for a beginner like me. > I believe the attached patch which adds a few comments might help a beginner.
Thanks for the patch. It might be a good idea to demystify this secret --boot option. + /* Bootstrap mode for initdb */ if (argc > 1 && strcmp(argv[1], "--boot") == 0) AuxiliaryProcessMain(argc, argv); /* does not return */ else if (argc > 1 && strcmp(argv[1], "--describe-config") == 0) How about expanding that comment just a little bit, say: /* * Bootstrapping is handled by AuxiliaryProcessMain() for historic * reasons. */ @@ -190,7 +190,8 @@ static IndexList *ILHead = NULL; * AuxiliaryProcessMain * * The main entry point for auxiliary processes, such as the bgwriter, - * walwriter, walreceiver, bootstrapper and the shared memory checker code. + * walwriter, walreceiver, postgres program in bootstrap mode and the + * shared memory checker code. This change may not be necessary, because, bootstrapper is a good short name for 'postgres program in bootstrap mode'. Also, this name is similar in style to the names of other auxiliary processes. Thanks, Amit