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

Postgresql - tidak dapat menjatuhkan basis data karena beberapa koneksi otomatis ke DB

Anda dapat mencegah koneksi di masa mendatang:

REVOKE CONNECT ON DATABASE thedb FROM public;

(dan mungkin pengguna/peran lain; lihat \l+ di psql )

Anda kemudian dapat menghentikan semua koneksi ke db ini kecuali milik Anda sendiri:

SELECT pid, pg_terminate_backend(pid) 
FROM pg_stat_activity 
WHERE datname = current_database() AND pid <> pg_backend_pid();

Pada versi lama pid disebut procpid jadi Anda harus menghadapinya.

Karena Anda telah mencabut CONNECT hak, apa pun yang mencoba menyambung otomatis seharusnya tidak lagi dapat melakukannya.

Sekarang Anda dapat menghapus DB.

Ini tidak akan berfungsi jika Anda menggunakan koneksi pengguna super untuk operasi normal, tetapi jika Anda melakukannya, Anda harus memperbaiki masalah itu terlebih dahulu.

Setelah Anda selesai menjatuhkan database, jika Anda membuat database lagi, Anda dapat menjalankan perintah di bawah ini untuk memulihkan akses

GRANT CONNECT ON DATABASE thedb TO public;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL multi INSERT...KEMBALI dengan beberapa kolom

  2. PostgreSQL meneruskan data dari CTE rekursif ke fungsi

  3. django.db.utils.ProgrammingError:relasi app_user tidak ada selama uji manage.py

  4. Bagaimana Anda menemukan ukuran disk dari tabel Postgres / PostgreSQL dan indeksnya?

  5. Tanggal PostgreSQL() dengan zona waktu