Re: documentation structure
Laurenz Albe <laurenz.albe@cybertec.at>
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Robert Haas <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2024-03-18T21:40:07Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
docs: Consistently use <optional> to indicate optional parameters
- 0d829703363b 18.0 landed
-
docs: Consolidate into new "WAL for Extensions" chapter.
- 09d9800e5282 17.0 landed
-
freespace: Don't return blocks past the end of the main fork.
- 935829743151 17.0 cited
-
docs: Merge separate chapters on built-in index AMs into one.
- fe8eaa54420c 17.0 landed
-
docs: Demote "Monitoring Disk Usage" from chapter to section.
- f470b5c67924 17.0 landed
-
doc: move system views section to its own chapter
- 64d364bb39cb 16.0 cited
On Mon, 2024-03-18 at 10:11 -0400, Robert Haas wrote: > The two sections of the documentation that seem really > under-emphasized to me are the GUC documentation and the SQL > reference. The GUC documentation is all buried under "20. Server > Configuration" and the SQL command reference is under "I. SQL > commands". For reasons that I don't understand, all chapters except > for those in "VI. Reference" are numbered, but the chapters in that > section have Roman numerals instead. That last fact is very odd indeed and could be easily fixed. > I don't know what other people's experience is, but for me, wanting to > know what a command does or what a setting does is extremely common. > Therefore, I think these chapters are disproportionately important and > should be emphasized more. In the case of the GUC reference, one idea > I have is to split up "III. Server Administration". My proposal is > that we divide it into three sections. The first would be called "III. > Server Installation" and would cover chapters 16 (installation from > binaries) through 19 (server setup and operation). The second would be > called "IV. Server Configuration" -- so every section that's currently > a subsection of "server configuration" would become a top-level > chapter. The third division would be "V. Server Administration," and > would cover the current chapters 21-33. This is probably far from > perfect, but it seems like a relatively simple change and better than > what we have now. I'm fine with splitting up "Server Administration" into three sections like you propose. > I don't know what to do about "I. SQL commands". It's obviously > impractical to promote that to a top-level section, because it's got a > zillion sub-pages which I don't think we want in the top-level > documentation index. But having it as one of several unnumbered > chapters interposed between 51 and 52 doesn't seem great either. I think that both the GUCs and the SQL reference could be top-level sections. For the GUCs there is an obvious split in sub-chapters, and the SQL reference could be a top-level section without any chapters under it. > The stuff that I think is over-emphasized is as follows: (a) chapters > 1-3, the tutorial; (b) chapters 4-6, which are essentially a > continuation of the tutorial, and not at all similar to chapters 8-11 > which are chalk-full of detailed technical information; (c) chapters > 43-46, one per procedural language; perhaps these could just be > demoted to sub-sections of chapter 42 on procedural languages; (d) > chapters 47 (server programming interface), 50 (replication progress > tracking), and 51 (archive modules), all of which are important to > document but none of which seem important enough to put them in the > top-level documentation index; and (e) large parts of section "VII. > Internals," which again contain tons of stuff of very marginal > interest. The first ~4 chapters of the internals section seem like > they might be mainstream enough to justify the level of prominence > that we give them, but the rest has got to be of interest to a tiny > minority of readers. I disagree that the tutorial is over-emphasized. I also disagree that chapters 4 to 6 are a continuation of the tutorial. Or at least, they shouldn't be. When I am looking for a documentation reference on something like security considerations of SECURITY DEFINER functions, my first impulse is to look in chapter 5 (Data Definition) or in chapter 38 (Extending SQL), and I am surprised to find it discussed in the SQL reference of CREATE FUNCTION. Another case in point is the "Notes" section for CREATE VIEW. Why is that not somewhere under "Data Definition"? For me, the reference should be terse and focused on the syntax. Changing that is probably a lost cause by now, but I feel that we need not encourage that development any more by playing down the earlier chapters. > I think it might be possible to consolidate the internals section by > grouping a bunch of existing entries together by category. Basically, > after the first few chapters, you've got stuff that is of interest to > C programmers writing core or extension code; and you've got > explainers on things like GEQO and index op-classes and support > functions which might be of interest even to non-programmers. I think > for example that we don't need separate top-level chapters on writing > procedural language handlers, FDWs, tablesample methods, custom scan > providers, table access methods, index access methods, and WAL > resource managers. Some or all of those could be grouped under a > single chapter, perhaps, e.g. Using PostgreSQL Extensibility > Interfaces. I have no strong feelings about that. Yours, Laurenz Albe