sql >> Databáze >  >> RDS >> PostgreSQL

Django:oprávnění odepřeno při pokusu o přístup k databázi po obnovení (migrace)

Ukázalo se, že po obnovení byste měli udělit explicitní vlastnictví všech objektů v databázi vlastníkovi. Majitel není superuživatel. Nestačí pouze nastavit vlastníka při vytváření databáze. Konečné řešení migrace vypadá takto:

na klientovi:

pg_dump -f dump.sql -Ox database

na serveru:

su postgres    
dropdb database
createdb database -O user
psql database -f dump.sql

a poté pro nastavení oprávnění:

psql database -c "GRANT ALL ON ALL TABLES IN SCHEMA public to user;"
psql database -c "GRANT ALL ON ALL SEQUENCES IN SCHEMA public to user;"
psql database -c "GRANT ALL ON ALL FUNCTIONS IN SCHEMA public to user;"

Všimněte si, že jsme mohli spustit příkaz sql v konzole psql, ale tento formulář lze snadno vložit do skriptů a podobně.



  1. Průvodce automatizovaným nasazením cloudové databáze

  2. Jak nainstalovat SQLcl na Mac

  3. Jak automatizovat sběr dat při růstu databáze SQL Server

  4. Co je datový typ SYSNAME v SQL Server?