On 19.03.26 08:44, Andrei Lepikhov wrote:
On 16/3/26 22:01, Andrei Lepikhov wrote:
On 16/3/26 20:28, Jack Bonatakis wrote:
On Mon, Mar 16, 2026, at 2:08 PM, Andrei Lepikhov wrote:
I believe the pg_readonly [1] extension does what you're looking
for, so
you might want to give it a try.
Please correct me if I am mistaken, but it looks like pg_readonly
operates at the database or cluster level.
Take a look at the [1] project. It's a simpler version of [2] that
always switches to read-only mode.
To use it, just have your connection pooler load the 'safesession'
module. This will keep the session in read-only mode until it ends.
There are no GUCs, and there is no way to change the mode, even for a
superuser. Does this seem safe enough?
We could improve it by restricting manual calls to specific utility
operations, such as VACUUM or REINDEX. However, we would need some
specifications first.
Here is a stalled project to implement ALTER SYSTEM READ ONLY:
https://www.postgresql.org/message-id/flat/CAAJ_b97KZzdJsffwRK7w0XU5HnXkcgKgTR69t8cOZztsyXjkQw%40mail.gmail.com
Maybe that could be reactivated, but the reason it stalled was that it
was hard.