PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Django:odmowa uprawnień podczas próby uzyskania dostępu do bazy danych po przywróceniu (migracji)

Okazuje się, że po przywróceniu należy przyznać właścicielowi jawne prawo własności do wszystkich obiektów w bazie danych. Właściciel nie jest superużytkownikiem. Nie wystarczy ustawić właściciela tylko w momencie tworzenia bazy danych. Ostateczne rozwiązanie migracji wygląda tak:

na kliencie:

pg_dump -f dump.sql -Ox database

na serwerze:

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

a następnie ustawić uprawnienia:

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;"

Zauważ, że mogliśmy uruchomić polecenie sql w konsoli psql, ale ten formularz można łatwo osadzić w skryptach i tym podobnych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zapobiec usunięciu pierwszego wiersza w tabeli (PostgreSQL)?

  2. Milisekundowa rozdzielczość DateTime w Ruby

  3. Adnotacja Spring Data @CreatedDate nie działa dla mnie

  4. Krotki nie są wstawiane kolejno do tabeli bazy danych?

  5. Analiza logów PostgreSQL za pomocą pgBadger