On 3/9/22 13:46, Stephen Frost wrote:
>
>> I don't think it is as reasonable to say, effectively, that you learn
>> what the irreducibly essential steps of an online base backup are by
>> reading the source of pg_basebackup, and then intuiting which of the
>> details you find there are the essential ones and which are outgrowths
>> of its particular design choices.
>
> Documenting absolutely everything needed to write a good backup tool for
> PG strikes me as unlikely to end up actually being useful. Those who
> write backup tools for PG are reading the source for PG and likely
> wouldn't find such documentation helpful as not everything needed would
> be included even if we did try to document everything, making such an
> effort a waste of time. The idea that we could document everything
> needed and that someone could then write a simple shell script or even a
> simple perl script (as pgbackrest started out as ...) from that
> documentation that did everything necessary is a fiction that we need to
> accept as such and move on from.
I would argue that the "Making a Non-Exclusive Low-Level Backup" and
"Backing Up the Data Directory" sections do contain the minimal
information you need to create a valid backup. I (and others) work hard
to keep these sections up to date.
Arguably it is a bit confusing that "Backing Up the Data Directory" is a
separate section, but that's because we have two backup methods and it
needs to be kept separate. But since it is linked in the appropriate
part of "Making a Non-Exclusive Low-Level Backup" I don't think it is
too big a deal.
If you see something missing then let's add it. But I agree with Stephen
that it is not a good idea to include a simplistic pseudo-solution to a
problem that is anything but simple.
Regards,
-David