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