On 11 October 2017 at 20:38, rverghese <ri...@hotmail.com> wrote:
> I guess there is nothing at the database level.

Although not safe (as the user can reset this parameter), you could set
default_transaction_read_only for the application user.


postgres=# ALTER USER jdoe IN DATABASE postgres SET
default_transaction_read_only TO true;
ALTER ROLE
postgres=# \c postgres jdoe
You are now connected to database "postgres" as user "jdoe".
postgres=> CREATE TABLE t1(i int);
ERROR:  cannot execute CREATE TABLE in a read-only transaction

regards,

Feike

Reply via email to