Search code examples
postgresql

ERROR: cannot execute CREATE TABLE in a read-only transaction


I'm trying to setup the pgexercises data in my local machine. When I run: psql -U <username> -f clubdata.sql -d postgres -x I get the error: psql:clubdata.sql:6: ERROR: cannot execute CREATE SCHEMA in a read-only transaction.

Why did it create a read-only database on my local machine? Can I change this?


Solution

  • Reached out to pgexercises.com and they were able to help me.

    I ran these commands(separately):

    psql -U <username> -d postgres
    begin;
    set transaction read write;
    alter database exercises set default_transaction_read_only = off;
    commit;
    \q
    

    Then I dropped the database from the terminal dropdb exercises and ran script again psql -U <username> -f clubdata.sql -d postgres -x -q