ISBN range table

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-12T11:37:19Z
Lists: pgsql-hackers

Attachments

Hi,

A recent-ish thread[1] made me wonder what that big table of data
does, and why we have a random update every decade or so, and I came
up with the attached.

It's pretty low stakes stuff: it controls where hyphens are inserted.
This happens when new ranges are carved out for publishers, so to pick
an example ISBN plucked from Wikipedia[2], here's an ISBN that is
shown differently after the attached:

postgres=# select '9791186178140'::isbn;
      isbn
-----------------
 979-118617814-0
(1 row)

postgres=# select '9791186178140'::isbn;
       isbn
-------------------
 979-11-86178-14-0

[1] https://www.postgresql.org/message-id/flat/e0a62134-83da-4ba4-8cdb-ceb0111c95ce@eisentraut.org
[2] https://en.wikipedia.org/wiki/List_of_ISBN_registration_groups