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

Attachment: v2-0001-Add-hints-for-sequence-synchronization-permission.patch
Description: Binary data

Reply via email to