PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Django:izin ditolak ketika mencoba mengakses basis data setelah pemulihan (migrasi)

Ternyata Anda harus memberikan kepemilikan eksplisit dari semua objek dalam database kepada pemilik setelah pemulihan. Pemiliknya bukan pengguna super. Tidak cukup hanya mengatur pemilik pada waktu pembuatan basis data. Solusi terakhir untuk migrasi seperti ini:

pada klien:

pg_dump -f dump.sql -Ox database

di server:

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

dan kemudian untuk mengatur hak istimewa:

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

Perhatikan bahwa kita dapat menjalankan perintah sql di konsol psql tetapi formulir ini dapat dengan mudah disematkan dalam skrip dan semacamnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle ke PostgreSQL:MULAI DENGAN/HUBUNGKAN OLEH

  2. Menggunakan Kubernetes untuk Menerapkan PostgreSQL

  3. Evolusi Toleransi Kesalahan di PostgreSQL:Perjalanan Waktu

  4. Apa yang terjadi dengan duplikat saat menyisipkan banyak baris?

  5. Tentang kegunaan indeks ekspresi