Hi
From the documentation for pg_replication_origin_oid() [1]:
> Looks up a replication origin by name and returns the internal ID.
> If no such replication origin is found an error is thrown.
However, it actually returns NULL if the origin does not exist:
postgres=# SELECT * FROM pg_replication_origin;
roident | roname
---------+--------
(0 rows)
postgres=# SELECT pg_replication_origin_oid('foo'),
pg_replication_origin_oid('foo') IS NULL;
pg_replication_origin_oid | ?column?
---------------------------+----------
| t
(1 row)
Given that the code has remained unchanged since the function was
introduced in 9.5, it seems reasonable to change the documentation
to match the function behaviour rather than the other way round.
Regards
Ian Barwick
[1] https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-REPLICATION-TABLE
--
EnterpriseDB: https://www.enterprisedb.com