Re: Adding REPACK [concurrently] - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Adding REPACK [concurrently]
Date
Msg-id aeJHPNmL4vVy3oPw@pryzbyj2023
Whole thread
In response to Re: Adding REPACK [concurrently]  (Mihail Nikalayeu <mihailnikalayeu@gmail.com>)
List pgsql-hackers
I had trouble testing this at first:

postgres=# REPACK (CONCURRENTLY) users;
ERROR:  42501: permission denied to use replication slots
DETAIL:  Only roles with the REPLICATION attribute may use replication slots.
CONTEXT:  REPACK decoding worker
LOCATION:  CheckSlotPermissions, slot.c:1697

That's surprising, since it was run as a superuser.

It turns out that repack runs as the owner of the table, and the table
*owner* needs to have REPLICATION -- regardless of who runs the command.

I imagine people have been testing with one user, that both owns the
table and invokes REPACK.  Maybe this just needs to be clarified in the
documentation/error message?

-- 
Justin



pgsql-hackers by date:

Previous
From: Lucas DRAESCHER
Date:
Subject: Re: [Bug Report + Patch] File descriptor leak when io_method=io_uring
Next
From: Bruce Momjian
Date:
Subject: Re: First draft of PG 19 release notes