On Tue, Dec 18, 2018 at 5:36 PM PG Bug reporting form
<noreply@postgresql.org> wrote:
>
> The following bug has been logged on the website:
>
> Bug reference: 15558
> Logged by: Andy Edwards
> Email address: jedwards@fastmail.com
> PostgreSQL version: 11.1
> Operating system: (irrelevant)
> Description:
>
> After debugging why notifications weren't getting delivered, I discovered
> the following:
>
> # LISTEN "pg/tables/TagNotificationTriggers/tag/_org/1/JSON
> Test/battery/1/lifetimeWh";
> NOTICE: identifier "pg/tables/TagNotificationTriggers/tag/_org/1/JSON
> Test/battery/1/lifetimeWh" will be truncated to
> "pg/tables/TagNotificationTriggers/tag/_org/1/JSON Test/battery/"
>
> I haven't seen a mention of this channel length limit in any version of the
> documentation for NOTIFY. I wish it were in the documentation, because then
> I would have found out about this limit before deciding to use Postgres
> notifications, and chosen to use Redis notifications from the beginning.
Since it is just another name/identifier it is the same limit and
behavior as is present for table names, column names, type names,
etc...
The length of identifiers is covered in the general section covering syntax:
https://www.postgresql.org/docs/11/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
Default length for identifiers is identified as being 63 bytes -
though technically (but not usefully) is system dependent at compile
time.
It is intentional to not spam the documentation with such a
wide-ranging dynamic everywhere it might come into play...I'm
undecided whether NOTIFY is deserving of an exception...
David J.