Vacuuming the operating system documentation

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Vacuuming the operating system documentation
Date: 2020-06-06 04:57:20
Message-ID: CA+hUKGLmJUSwybaPQv39rB8ABpqJq84im2UjZvyUY4feYhpWMw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

We're carrying a bunch of obsolete and in one case insecure advice on
kernel settings. Here's an attempt to clean some of that up.

Linux:
* Drop reference to ancient systems that didn't have a sysctl command.
* Drop references to Linux before 2.6.
* I was tempted to remove the reference to oom_adj, which was
apparently deprecated from 2.6.36, but that's probably recent enough
to keep (RHEL6 may outlive humanity).

macOS:
* Drop reference to 10.2 and 10.3 systems. That's 15-16 years ago.
Even the ancient PPC systems in the build farm run 10.4+.

FreeBSD:
* Drop insecure and outdated jail instructions. I moved the
pre-FreeBSD 11 behaviour into a brief note in parentheses, because
FreeBSD 11 is the oldest release of that OS that is still in support.
In that parenthetical note, I dropped the reference to port numbers
and UIDs in shmem keys since we now use pgdata inode numbers instead.
* Drop SysV semaphore instruction. We switched to POSIX on this
platform in PostgreSQL 10, and we don't bother to give the redundant
instructions about semaphores for Linux so we might as well drop this
noise for FreeBSD too.
* Clarify that kern.ipc.shm_use_phys only has a useful effect if
shared_memory_type=sysv, which is not the default.
* Drop some stuff about pre-4.0 systems. That was 20 years ago.

NetBSD:
* Drop reference to pre-5.0 systems. That was 11 years ago. Maybe
someone wants to argue with me on this one?

OpenBSD:
* Drop instruction on recompiling the kernel on pre-3.3 systems.
That was 17 years ago.

Solaris/illumos:
* Drop instructions on Solaris 6-9 systems. 10 came out 15 years
ago, 9 was fully desupported 6 years ago. The last person to mention
Solaris 9 on the mailing list was ... me. That machine had cobwebs
even then.
* Drop reference to OpenSolaris, which was cancelled ten years ago;
the surviving project goes by illumos, so use that name.

AIX:
* Drop reference to 5.1, since there is no way older systems than
that are going to be running new PostgreSQL releases. 5.1 itself was
desupported by IBM 14 years ago.

HP-UX:
* Drop advice for v10. 11.x came out 23 years ago.

It's a bit inconsistent that we bother to explain the SysV shmem
sysctls on some systems but not others, just because once upon a time
it was necessary to tweak them on some systems and not others due to
defaults. You shouldn't need that anywhere now IIUC, unless you run a
lot of clusters or use shared_memory_type=sysv. I'm not proposing to
add it where it's missing, as I don't have the information and I doubt
it's really useful anyway; you can find that stuff elsewhere if you
really need it.

Attachment Content-Type Size
0001-doc-Clean-up-references-to-obsolete-OS-versions.patch text/x-patch 10.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2020-06-06 07:58:43 Re: Vacuuming the operating system documentation
Previous Message Andres Freund 2020-06-06 04:30:04 Re: libpq copy error handling busted