sql >> Databasteknik >  >> RDS >> PostgreSQL

Django:tillstånd nekad när man försöker komma åt databasen efter återställning (migrering)

Det visar sig att du bör ge explicit äganderätt till alla objekt i databasen till ägaren efter återställning. Ägaren är inte en superanvändare. Det räcker inte att bara ställa in ägaren när databasen skapas. Den slutliga lösningen för migrering ser ut så här:

på klienten:

pg_dump -f dump.sql -Ox database

på servern:

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

och sedan för att ställa in privilegierna:

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

Observera att vi kunde ha kört kommandot sql i psql-konsolen men det här formuläret är lätt att bädda in i skript och sådant.



  1. Hur ändrar man PostgreSQL användarlösenord?

  2. Anslut till fjärr MySQL-databas via SSH med Java

  3. Hur man hittar alla begränsningsöverträdelser i en SQL Server-databas

  4. Hur man ersätter null-värden med okänt i Select-sats i SQL Server - SQL Server / TSQL självstudie del 111