On Wed, Jun 24, 2026 at 2:40 PM Bharath Rupireddy <[email protected]> wrote: > > Hi, > > On Tue, Jun 23, 2026 at 5:41 PM Fujii Masao <[email protected]> wrote: > > > > BTW, isn't the current documentation a bit misleading? It says: > > > > This function returns a row of NULL values if the sequence does not > > exist. > > > > But if the specified object does not exist, pg_get_sequence_data() > > raises an error rather than returning a row of NULL values. On the > > other hand, it does return a row of NULL values if the specified > > object exists but is not a sequence. Is my understanding correct? If > > so, how about something like: > > When the provided relation oid doesn't exist, returns NULL: > postgres=# select pg_get_sequence_data(99999999); > pg_get_sequence_data > ---------------------- > (,,) > (1 row)
Yes. If the specified OID does not exist, the function returns a row of
NULL values. However, if the object is specified by name and it does
not exist, an error is raised because the argument has type regclass.
That's why I find the current wording "This function returns a row of
NULL values if the sequence does not exist." a bit misleading.
How about something like this instead?
This function returns a row of NULL values if the specified relation
OID does not exist, if it is not a sequence, if the current user lacks
<literal>SELECT</literal> privilege on the sequence, if the sequence
is another session's temporary sequence, or if it is an unlogged
sequence on a standby server.
> > The attached patch adds those HINT messages. It also updates the
> > related documentation.
>
> Nice! This looks more explicit and clarifying. The patch LGTM.
Thanks for the review!
I've updated the patch furthermore. Attached.
Regards,
--
Fujii Masao
v2-0001-Add-hints-for-sequence-synchronization-permission.patch
Description: Binary data
